小编met*_*mit的帖子

如何在IPython笔记本中打开交互式Matplotlib窗口?

我正在使用带有--pylab = inline的IPython,并且有时希望快速切换到交互式,可缩放的Matplotlib GUI以查看绘图(当您在终端Python控制台中绘制内容时弹出的那个).我怎么能这样做?最好不要离开或重启我的笔记本.

IPy笔记本中内联图的问题在于它们的分辨率有限,我无法放大它们以查看一些较小的部分.使用从终端开始的Maptlotlib GUI,我可以选择要放大的图形矩形,并相应地调整轴.我试过试验

from matplotlib import interactive
interactive(True)
Run Code Online (Sandbox Code Playgroud)

interactive(False)
Run Code Online (Sandbox Code Playgroud)

但那没有做任何事情.我也无法在线找到任何提示.

python matplotlib jupyter-notebook

113
推荐指数
6
解决办法
15万
查看次数

从pandas MultiIndex中选择列

我有DataFrame和MultiIndex列,如下所示:

# sample data
col = pd.MultiIndex.from_arrays([['one', 'one', 'one', 'two', 'two', 'two'],
                                ['a', 'b', 'c', 'a', 'b', 'c']])
data = pd.DataFrame(np.random.randn(4, 6), columns=col)
data
Run Code Online (Sandbox Code Playgroud)

样本数据

['a', 'c']从第二级别仅选择特定列(例如,不是范围)的正确,简单方法是什么?

目前我这样做:

import itertools
tuples = [i for i in itertools.product(['one', 'two'], ['a', 'c'])]
new_index = pd.MultiIndex.from_tuples(tuples)
print(new_index)
data.reindex_axis(new_index, axis=1)
Run Code Online (Sandbox Code Playgroud)

预期结果

然而,它不是一个好的解决方案,因为我必须淘汰itertools,手工构建另一个MultiIndex,然后重新索引(我的实际代码甚至更麻烦,因为列列表不是那么容易获取).我很确定必须有一些ixxs这样做,但我尝试的一切都导致了错误.

python hierarchical multi-index pandas

19
推荐指数
6
解决办法
1万
查看次数

emacs全局放大/缩小

我知道我可以使用Cx C- +进行放大/缩小,但这仅适用于当前文件.一旦我打开另一个文本,文本就会回到默认值,并且一遍又一遍地执行它真的很烦人.如何为当前的emacs会话保持全局缩放级别?

我知道如果你知道确切的字体大小,我可以在init文件中设置它,我不知道.另外,我不想让它保持永久性 - 我通常需要这个,当我没有外部屏幕几个小时或连接到投影仪同时进行演示时.

emacs font-size zooming

19
推荐指数
4
解决办法
5434
查看次数

如何使用Python中的科学库执行卡方拟合优度检验?

假设我有一些我凭经验得到的数据:

from scipy import stats
size = 10000
x = 10 * stats.expon.rvs(size=size) + 0.2 * np.random.uniform(size=size)
Run Code Online (Sandbox Code Playgroud)

它呈指数分布(有一些噪音),我想用卡方拟合优度(GoF)测试验证这一点.使用Python中的标准科学库(例如scipy或statsmodels)以最少的手动步骤和假设进行此操作的最简单方法是什么?

我可以使用以下模型:

param = stats.expon.fit(x)
plt.hist(x, normed=True, color='white', hatch='/')
plt.plot(grid, distr.pdf(np.linspace(0, 100, 10000), *param))
Run Code Online (Sandbox Code Playgroud)

分布和经验数据图

计算Kolmogorov-Smirnov检验非常优雅.

>>> stats.kstest(x, lambda x : stats.expon.cdf(x, *param))
(0.0061000000000000004, 0.85077099515985011)
Run Code Online (Sandbox Code Playgroud)

但是,我找不到计算卡方检验的好方法.

在statsmodel中有一个卡方的GoF函数,但它假定为离散分布(并且指数分布是连续的).

官员scipy.stats教程只涵盖的情况下,自定义分布和概率与许多表达式(npoints,npointsh,N键合,normbound)摆弄建成,所以它不是很清楚,我该怎么办呢其他分布.该卡方例子假设与预期值和已经获得的自由度.

此外,我不是在寻找一种"手动"执行测试的方法,如此处已经讨论过的,但是我想知道如何应用其中一个可用的库函数.

python scipy statsmodels goodness-of-fit

18
推荐指数
1
解决办法
9102
查看次数

如何使用熊猫绘制阴影条?

我试图通过填充图案而不是(仅)颜色来实现差异化.我怎么用熊猫来做?

在matplotlib中,通过传递这里hatch讨论的可选参数是可能的.我知道我也可以将该选项传递给大熊猫,但我不知道如何告诉它为每列使用不同的阴影图案.plotDataFrame

df = pd.DataFrame(rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot(kind='bar', hatch='/');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

对于颜色,有这里colormap描述的选项.孵化有类似的东西吗?或者我可以通过修改返回的对象手动设置它吗?Axesplot

python plot matplotlib pandas

16
推荐指数
2
解决办法
4202
查看次数

如何在文件更改时自动重新加载Django?

如何自动监视.py,.js和其他源代码文件以重新启动Django(或其他任何相关的)应用程序并在源更改时刷新浏览器?这可以在Rails中使用guard,在JS应用程序中使用grunt-contrib-watch和随附的livereload浏览器插件.如何为Django等Python Web应用程序执行此操作?

我用我的Django服务器启动

foreman start
Run Code Online (Sandbox Code Playgroud)

这是我的Procfile:

web: newrelic-admin run-program gunicorn app.wsgi
Run Code Online (Sandbox Code Playgroud)

正如Heroku/Newrelic文档或通常所说的那样

python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

runserver方法确实在.py源更改时重新启动服务器,但不是浏览器并且不看其他文件 - 我可以在它旁边运行后卫,但是我有两个进程我必须要处理,而grunt或rake提供统一接口.我想知道在Python开发人员中这样做的推荐方法是什么?

我找不到任何详细,全面的文档 - 只是在这里那里进行不完整的讨论.

python django web-applications livereload

15
推荐指数
4
解决办法
3万
查看次数

如何在终端钥匙串中将您的github https密码存储在Linux上?

现在使用新的双因素身份验证变得更加重要,因为每次在终端上需要密码时都必须创建新令牌.基本上,我正在寻找与OS X中可用的osxkeychain同等的功能,我可以在Linux桌面和服务器上使用它:

git config --global credential.helper osxkeychain
Run Code Online (Sandbox Code Playgroud)

我搜索了可能的解决方案,但到目前为止我不喜欢它们中的任何一个:

  • ssh而不是https - 不推荐使用,并且GitHub上的链接不易访问
  • cache --timeout=3600- 它最终会过期,重新输入密码会拖累新的2FA
  • gnome-keyring - 在无头服务器上不起作用(至少不太优雅 - ssh密码密钥环更好)
  • 我的硬盘驱动器方法上加密的.netrc文件 - 穷人的手动密钥环实现?

来吧,必须有一些适合Linux的基于终端的钥匙串,可以挂钩到git的credential.helper!

linux git https github keychain

9
推荐指数
1
解决办法
9952
查看次数

将IPython笔记本导出到reveal.js时如何分离幻灯片?

当我使用时执行一个关于reveal.js演示的IPython笔记本

ipython nbconvert mynotebook.ipynb --to slides --post serve
Run Code Online (Sandbox Code Playgroud)

我将所有内容作为单个幻灯片获取.如何将我的内容分成几张幻灯片?

演示截图

我尝试使用---(在视频中暗示),\n\n\n===在笔记本内部(作为单独的单元格和我的标题之前),但它没有改变任何东西.我知道对于reveal.js中的Markdown输入文件,可以设置data-separator选项,但生成的html文件似乎不包含Markdown内容,但使用HTML标签内联所有内容,所以我不知道如何制作IPython在我想要的地方生成新的幻灯片标签.

(我正在使用通过pip安装的IPython 1.1)

python ipython ipython-notebook reveal.js

7
推荐指数
3
解决办法
3840
查看次数

如何转移熊猫MultiIndex系列?

在常规时间序列中,您可以将其在时间上向后或向前移动。

例如以下时间序列:

start = datetime(2012,1,1)
end = datetime(2012,4,1)
rng = pd.date_range(start,end)
ts = pd.Series(np.random.randn(len(rng)), index = rng)
Run Code Online (Sandbox Code Playgroud)

我们可以用以下方法来改变它:

ts.shift(2, freq="D")
Run Code Online (Sandbox Code Playgroud)

如何仅在一个级别上针对MultiIndex时间序列执行此操作?

例如,对于以下MultiIndex时间序列:

mi = [(dt,i) for dt in rng for i in range(5)]
ts_mi = pd.Series(np.random.randn(len(mi)), index = pd.MultiIndex.from_tuples(mi))
Run Code Online (Sandbox Code Playgroud)

看起来可能像这样:

2012-01-01  0   -0.805353
            1    1.467167
            2   -1.207204
            3    1.658394
            4    1.497559
2012-01-02  0   -0.742510
            1    0.764594
            2    0.558660
            3   -0.479370
            4    0.653849
...
Run Code Online (Sandbox Code Playgroud)

使用移动它ts_mi.shift(2, freq="D")给出:

None   -0.805353
None    1.467167
None   -1.207204
None    1.658394
None    1.497559
None   -0.742510
None …
Run Code Online (Sandbox Code Playgroud)

python time-series pandas

5
推荐指数
1
解决办法
2653
查看次数

如何在终端内获得Stack Overflow答案?

有没有办法直接从命令行查询Stack Overflow并获得对该查询出现的第一个问题的最高评价答案?

每当我想了解编写RegExes以匹配XHTML标签的知识时,我真的不喜欢打开浏览器.

terminal automation

5
推荐指数
1
解决办法
1052
查看次数

如何增加RStudio编辑器的大小?

在Eclipse中,当我在编辑器中输入以全屏显示编辑器并暂时隐藏所有侧窗时,我能够执行Ctrl + M. 有没有办法在RStudio中实现这一目标?窗口的代码编辑器部分非常小,但我不想手动摆弄鼠标来调整控制台/绘图/工作区窗口的大小.

视图菜单除了放大/缩小外没有其他功能.

r rstudio

5
推荐指数
1
解决办法
7032
查看次数

为什么python pocketsphinx会给出TypeError?

据我所知,我正在使用Python口袋里的狮身人面像教程

https://metakermit.com/2011/python-speech-recognition-helloworld/

(完整代码在这里):

import sys,os

def decodeSpeech(hmmd,lmdir,dictp,wavfile):
"""
Decodes a speech file
"""

try:
    import pocketsphinx as ps
    import sphinxbase

except:
    print """Pocket sphinx and sphixbase is not installed
    in your system. Please install it with package manager.
    """

speechRec = ps.Decoder(hmm = hmmd, lm = lmdir, dict = dictp)
wavFile = file(wavfile,'rb')
wavFile.seek(44)
speechRec.decode_raw(wavFile)
result = speechRec.get_hyp()

return result[0]

if __name__ == "__main__":
hmdir = "/usr/share/pocketsphinx/model/hmm/en_US/"
lmd = "/usr/share/pocketsphinx/model/lm/en_US/hub4.5000.DMP"
dictd = "/usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic"
wavfile = sys.argv[1]
recognised = decodeSpeech(hmdir,lmd,dictd,wavfile)

print …
Run Code Online (Sandbox Code Playgroud)

python pocketsphinx

3
推荐指数
1
解决办法
1168
查看次数