我希望Jupyter能够打印所有交互式输出而不需要打印,而不仅仅是最后的结果.怎么做?
示例:
a=3
a
a+1
Run Code Online (Sandbox Code Playgroud)
我想展示
3
4
我想使用python的Pandas库读取.xlsx文件,并将数据移植到postgreSQL表.
到目前为止我能做的就是:
import pandas as pd
data = pd.ExcelFile("*File Name*")
Run Code Online (Sandbox Code Playgroud)
现在我知道步骤已成功执行,但我想知道如何解析已读取的excel文件,以便我可以理解excel中的数据如何映射到变量数据中的数据.
我知道如果我没错,数据就是一个Dataframe对象.那么我如何解析这个数据框对象以逐行提取每一行.
对于我的调试需求,pdb非常好.然而,这将是很大冷却器(和有益的),如果我能进入ipython.这件事有可能吗?
这是什么ipython有bpython没有,反之亦然?这两者有何不同?
环境:Python 2.7,matplotlib 1.3,IPython笔记本1.1,linux,chrome.代码在一个输入单元格中,使用--pylab=inline
我想使用IPython笔记本和pandas来消耗流并每5秒动态更新一次.
当我只使用print语句以文本格式打印数据时,它完全正常:输出单元格只保留打印数据并添加新行.但是当我尝试绘制数据(然后在循环中更新它)时,绘图永远不会出现在输出单元格中.但如果我删除循环,只需绘制一次.它工作正常.
然后我做了一些简单的测试:
i = pd.date_range('2013-1-1',periods=100,freq='s')
while True:
plot(pd.Series(data=np.random.randn(100), index=i))
#pd.Series(data=np.random.randn(100), index=i).plot() also tried this one
time.sleep(5)
Run Code Online (Sandbox Code Playgroud)
在手动中断进程(ctrl + m + i)之前,输出不会显示任何内容.在我打断它之后,该图正确显示为多个重叠的行.但我真正想要的是一个每5秒显示并更新一次的情节(或者每当plot()函数被调用时,就像我上面提到的print语句输出一样,效果很好).仅在单元格完成后才显示最终图表不是我想要的.
我甚至尝试在每个之后显式添加draw()函数plot()等.它们都不起作用.想知道如何通过IPython笔记本中一个单元格内的for/while循环动态更新绘图.
我知道IPython不支持virtualenv,并且最合乎逻辑的解决方案是在每个virtualenv中单独使用ipython
pip install ipython
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.我注意到的一件事是,如果在virtualenv $> ipython下安装IPython之前使用virtualenv调用系统范围的IPython副本,后续$> ipython命令将继续调出系统范围的ipython副本.
另一方面,如果在安装它之前未调用ipython,则会在virtualenv 下调$> ipython出新安装的副本.
对此有何解释?
这也让我想知道这种行为是否意味着我应该期待一些麻烦呢?
我和ipython的dev分支保持同步(因为ipython几乎是最棒的东西).最近(在昨天令人敬畏的ipython 2.0发布之前)我注意到它已经开始自动关闭括号,括号,引号等,因为我输入它们.它发生在两个终端[我在终端中使用的其他东西都没有]和笔记本会话,所以我认为这是开发人员的有意选择.我可以尊重其他人可能喜欢这个功能,但它让我完全疯了.
我在配置文件中找不到任何选项.我甚至不能谷歌,因为我不知道它叫什么.唯一出现的是自动括号的不同特征.我确实找到了这个问题,但那已经过时了,并且暗示我所看到的行为不会发生.
如何关闭此功能?
[我大多只是使用笔记本界面,所以只需将其关闭就可以了,但我更愿意在终端的笔记本和ipython会话中关闭它.]
IPython上的标签完成似乎不起作用.例如,
import numpy
numpy.<tab>
Run Code Online (Sandbox Code Playgroud)
只需添加一个标签.
import numpy
num<tab>
Run Code Online (Sandbox Code Playgroud)
只是添加一个标签.你能否为这个问题提出一些可能的原因?我正在运行Windows 7和Python 2.6.5.
我有以下情节:

如果它们具有相同的宽度,它看起来会更好.你知道在我使用ipython笔记本时怎么做%matplotlib inline吗?
更新:
为了生成这两个数字,我使用以下函数:
import numpy as np
import matplotlib.pyplot as plt
def show_plots2d(title, plots, points, xlabel = '', ylabel = ''):
"""
Shows 2D plot.
Arguments:
title : string
Title of the plot.
plots : array_like of pairs like array_like and array_like
List of pairs,
where first element is x axis and the second is the y axis.
points : array_like of pairs like integer and integer
List of pairs,
where first element is x coordinate …Run Code Online (Sandbox Code Playgroud) 我正在使用Django并一直使用Django shell.令人讨厌的部分是当Django服务器重新加载代码更改时,shell不会,因此每次我对我正在测试的方法进行更改时,我需要退出shell并重新启动它,重新导入所有模块我需要,重新初始化我需要的所有变量等.虽然iPython历史记录在此节省了大量的输入,但这仍然很痛苦.有没有办法让django shell自动重载,就像django开发服务器一样?
我知道reload(),但我导入了很多模型并且通常使用from app.models import *语法,所以reload()没有多大帮助.