我在Google Cloud Compute环境中安装了Anaconda,可以作为普通用户在shell中成功使用它:
curt@lamp-v5mi:~$ python
Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar 9 2015, 16:20:48)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
Run Code Online (Sandbox Code Playgroud)
然而,当我开始翻译时sudo python,anaconda不是使用的翻译,我希望它是.
curt@lamp-v5mi:~$ sudo python
Python 2.7.3 (default, Mar 13 2014, 11:03:55)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Run Code Online (Sandbox Code Playgroud)
令人困惑的是,当我以root身份启动shell 然后启动解释器时,anaconda 就是使用的解释器.
curt@lamp-v5mi:~$ sudo …Run Code Online (Sandbox Code Playgroud) 我对widths传递给scipy.signal.cwt()和扩展的参数感到困惑scipy.signal.find_peaks_cwt().一个以前的和非常有益的堆栈溢出问题(和指针文献)解释了我的大部分困惑了.这widths是一个比例数组,用于在卷积数据之前拉伸小波.
令我困惑的一点是,元素的单位widths是什么?宽度为1意味着小波被拉伸为一个"索引"宽,其中索引是元素之间的距离data吗?起初我认为是这种情况,但是(a)宽度可以取非整数值,(b)cwt()结果可以根据宽度而变化.
这是一些代码,说明了我的困惑.为什么最后两行给出不同的结果?
#generating an arbitrary signal with overlapping gaussian peaks with various
npeaks = 6
support = np.arange(0,1.01,0.01)
pkx = np.array([0.2, 0.3, 0.38, 0.55, 0.65]) #peak locations
pkfun = sum(stats.norm.pdf(support, loc=pkx[i], scale=0.03) for i in range(0,npeaks-1))
#finding peaks for two different setting of widths
pkindsOne = sig.find_peaks_cwt(pkfun, widths = np.arange(4,6), wavelet = sig.ricker)
pkindsTwo = sig.find_peaks_cwt(pkfun, widths = np.arange(4,6.4), wavelet = sig.ricker) …Run Code Online (Sandbox Code Playgroud) 我不确定我正在尝试编写的代码的相应数学术语.我想生成唯一整数的组合,其中每个组合的"有序子集"用于排除某些后来的组合.
希望一个例子可以说明这一点:
from itertools import chain, combinations
?
mylist = range(4)
max_depth = 3
rev = chain.from_iterable(combinations(mylist, i) for i in xrange(max_depth, 0, -1))
for el in list(rev):
print el
Run Code Online (Sandbox Code Playgroud)
该代码导致输出包含我想要的所有子集,但也包含一些我不需要的额外子集.我手动插入注释以指示我不想要的元素.
(0, 1, 2)
(0, 1, 3)
(0, 2, 3)
(1, 2, 3)
(0, 1) # Exclude: (0, 1, _) occurs as part of (0, 1, 2) above
(0, 2) # Exclude: (0, 2, _) occurs above
(0, 3) # Keep
(1, 2) # Exclude: (1, 2, _) occurs above …Run Code Online (Sandbox Code Playgroud) 我有兴趣使用Bokeh将图像放入IPython笔记本中.特别是我经常与之交互的数据类型是具有3个或更多维度的多维NumPy数组.以三维数组为例.经常遇到的例子是RGB图像.这三个维度x,y以及color
我有兴趣使用Bokeh在IPython笔记本中绘制单个图像通道.我想提供一个交互式滑块,允许IPython笔记本的用户点击第三维的每个索引,在本例中为颜色.
我下面的代码(在IPython笔记本中运行时)成功显示了第一个颜色通道的图.但我无法弄清楚在我的电话中导致错误的原因interact.我ColumnDataSource是否在Bokeh图构造中正确定义并正确引用了?
# imports
import numpy as np
from scipy.misc import imread
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.models import ColumnDataSource
from bokeh.palettes import Greys9
from IPython.html.widgets import interact
Run Code Online (Sandbox Code Playgroud)
# enable Bokeh to plot to the notebook
output_notebook()
# Make the Bokeh plot of the "first" layer of the 3D data
## This part works
TOOLS="pan, box_zoom, reset, save"
# The image from https://windycitizensports.files.wordpress.com/2011/10/baboon.jpg?w=595
RGB_image = …Run Code Online (Sandbox Code Playgroud) 我经常喜欢拟合并检查与R数据帧中的两个变量相关的多个模型.
我可以使用这样的语法来做到这一点:
require(tidyverse)
require(broom)
models <- list(hp ~ exp(cyl), hp ~ cyl)
map_df(models, ~tidy(lm(data=mtcars, formula=.x)))
Run Code Online (Sandbox Code Playgroud)
但我习惯了管道语法,并希望能够像这样:
mtcars %>% map_df(models, ~tidy(lm(data=., formula=.x)))
Run Code Online (Sandbox Code Playgroud)
这清楚地表明我正在"开始",mtcars然后对其进行操作以生成输出.但是这种语法不起作用,给出了错误Error: Index 1 must have length 1.
有没有办法以purrr:map()我能管道mtcars输入的方式来编写我的函数,以获得与上面的工作代码相同的输出?即
mtcars %>% <<<something>>>
Run Code Online (Sandbox Code Playgroud) 使用R GUI或仅从命令行使用R,此代码导致整数相隔0.2秒打印.
相比之下,当我在jupyter笔记本中使用R时,所有打印仅在循环完成后才会发生.
for(x in 1:10){
print(x)
Sys.sleep(0.2)
}
Run Code Online (Sandbox Code Playgroud)
我试图用Jupyter强制实时打印
for(x in 1:10){
print(x)
flush.console()
Sys.sleep(0.2)
}
Run Code Online (Sandbox Code Playgroud)
......没有效果.结果是相同的 - 在jupyter中的for循环内打印似乎总是延迟到循环之后.
有没有办法确保笔记本实时输出打印报表的结果?
dplyr管道%>%语法似乎不适用于该save()函数.当我下面运行该代码,只x,而不是y,被恢复为在工作空间中的变量.为什么?这是一个错误还是我不能充分了解管道功能?
require(dplyr)
x <- 2
save(x, file = 'x.rdat')
y <- 3
y %>% save(file = 'y.rdat')
rm(x)
rm(y)
load('x.rdat')
load('y.rdat')
ls()
Run Code Online (Sandbox Code Playgroud)