我正在使用带有--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)
但那没有做任何事情.我也无法在线找到任何提示.
我有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,然后重新索引(我的实际代码甚至更麻烦,因为列列表不是那么容易获取).我很确定必须有一些ix
或xs
这样做,但我尝试的一切都导致了错误.
我知道我可以使用Cx C- +进行放大/缩小,但这仅适用于当前文件.一旦我打开另一个文本,文本就会回到默认值,并且一遍又一遍地执行它真的很烦人.如何为当前的emacs会话保持全局缩放级别?
我知道如果你知道确切的字体大小,我可以在init文件中设置它,我不知道.另外,我不想让它保持永久性 - 我通常需要这个,当我没有外部屏幕几个小时或连接到投影仪同时进行演示时.
假设我有一些我凭经验得到的数据:
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)摆弄建成,所以它不是很清楚,我该怎么办呢其他分布.该卡方例子假设与预期值和已经获得的自由度.
此外,我不是在寻找一种"手动"执行测试的方法,如此处已经讨论过的,但是我想知道如何应用其中一个可用的库函数.
我试图通过填充图案而不是(仅)颜色来实现差异化.我怎么用熊猫来做?
在matplotlib中,通过传递这里hatch
讨论的可选参数是可能的.我知道我也可以将该选项传递给大熊猫,但我不知道如何告诉它为每列使用不同的阴影图案.plot
DataFrame
df = pd.DataFrame(rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot(kind='bar', hatch='/');
Run Code Online (Sandbox Code Playgroud)
对于颜色,有这里colormap
描述的选项.孵化有类似的东西吗?或者我可以通过修改返回的对象手动设置它吗?Axes
plot
如何自动监视.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开发人员中这样做的推荐方法是什么?
现在使用新的双因素身份验证变得更加重要,因为每次在终端上需要密码时都必须创建新令牌.基本上,我正在寻找与OS X中可用的osxkeychain同等的功能,我可以在Linux桌面和服务器上使用它:
git config --global credential.helper osxkeychain
Run Code Online (Sandbox Code Playgroud)
我搜索了可能的解决方案,但到目前为止我不喜欢它们中的任何一个:
cache --timeout=3600
- 它最终会过期,重新输入密码会拖累新的2FA来吧,必须有一些适合Linux的基于终端的钥匙串,可以挂钩到git的credential.helper!
当我使用时执行一个关于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)
在常规时间序列中,您可以将其在时间上向后或向前移动。
例如以下时间序列:
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) 有没有办法直接从命令行查询Stack Overflow并获得对该查询出现的第一个问题的最高评价答案?
每当我想了解编写RegExes以匹配XHTML标签的知识时,我真的不喜欢打开浏览器.
在Eclipse中,当我在编辑器中输入以全屏显示编辑器并暂时隐藏所有侧窗时,我能够执行Ctrl + M. 有没有办法在RStudio中实现这一目标?窗口的代码编辑器部分非常小,但我不想手动摆弄鼠标来调整控制台/绘图/工作区窗口的大小.
视图菜单除了放大/缩小外没有其他功能.
据我所知,我正在使用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 ×8
pandas ×3
matplotlib ×2
automation ×1
django ×1
emacs ×1
font-size ×1
git ×1
github ×1
hierarchical ×1
https ×1
ipython ×1
keychain ×1
linux ×1
livereload ×1
multi-index ×1
plot ×1
pocketsphinx ×1
r ×1
reveal.js ×1
rstudio ×1
scipy ×1
statsmodels ×1
terminal ×1
time-series ×1
zooming ×1