每当尝试使用像python这样的input()函数使用ipython notebook从键盘输入值时,就会出错.
EOFError Traceback (most recent call last)
<ipython-input-1-725a22d6f154> in <module>()
8 #Reads three Input values for x,y and z
9 print "Enter Values of x, y, z :- "
---> 10 x = input()
11 y = input()
12 z = input()
EOFError: EOF when reading a line
Run Code Online (Sandbox Code Playgroud)
同样在python中正常工作.我怎么能在ipython笔记本环境中这样做?
提前致谢.
我正在使用 sympy 从几个表达式中收集术语,并希望在表格中格式化结果(在 ipython-notebook 中),术语位于最左侧的列中,随后的每一列代表一个表达式。该列中的条目来自dict返回的sympy.collect(syms, evaluate=False)
到目前为止,我有:
from IPython.display import display, Latex
import pandas as pd
import sympy as sym
sym.init_printing()
x,y,z = sym.symbols('x,y,z')
da,db,dc = sym.symbols('{\Delta}a {\Delta}b {\Delta}c ' )
e_list = []
d_list = []
e_list.append(da*2*x + da*(y - 2) + db*3*z + dc*(x+y))
e_list.append(dc*z + dc*x + da*x + db*(z+2))
for e in e_list:
display(e.expand().collect((x,y,z)))
d_list.append(e.expand().collect((x,y,z),evaluate=False))
df = pd.DataFrame(d_list).T
Run Code Online (Sandbox Code Playgroud)
数据框显示为我想要的,除了条目是原始乳胶。
我认为以下方法可行:
Latex(df.to_latex())
Run Code Online (Sandbox Code Playgroud)
但我得到的只是一个盒子包围的乳胶代码。
编辑:这似乎是 ipython 和 Latex 表的一个已知问题,请参见此处:
我有两种不同的解决方法。使用单码:
sym.init_printing(use_latex=False)
...
da,db,dc = …Run Code Online (Sandbox Code Playgroud) 我注意到如果要输入df.column_name(),我可以column_name在IPython Notebook中的选项卡中自动完成。
现在,对列执行操作的正确语法是df['column_name'],在该处我无法自动完成(我假设是因为它是字符串?)。还有其他符号或方法可以简单地键入列名。我是essentailly,正在寻找一种解决方案,该解决方案可以让我在其中自动完成列名的制表符df['column_name']。
我最近将ipython升级到2.0.0,无法使内联图工作.如果我试试
%pylab inline
plot([1,2],[1,2])
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
Populating the interactive namespace from numpy and matplotlib
[<matplotlib.lines.Line2D at 0x10ffcf080>]
/usr/local/lib/python3.4/site-packages/IPython/core/formatters.py:239: FormatterWarning: Exception in image/png formatter: _image_module::readpng: png_create_read_struct failed
FormatterWarning,
<matplotlib.figure.Figure at 0x10e77ca58>
Run Code Online (Sandbox Code Playgroud)
在控制台中,我有以下错误:
ERROR:tornado.application:Uncaught exception in /api/kernels/0a214dee-3143-4d34-89cb-9d65ce154fe6/shell
Traceback (most recent call last):
File "/usr/local/lib/python3.4/site-packages/tornado/websocket.py", line 322, in wrapper
return callback(*args, **kwargs)
File "/usr/local/lib/python3.4/site-packages/IPython/html/services/kernels/handlers.py", line 122, in on_message
self.session.send(self.zmq_stream, msg)
File "/usr/local/lib/python3.4/site-packages/IPython/kernel/zmq/session.py", line 646, in send
stream.send_multipart(to_send, copy=copy)
AttributeError: 'NoneType' object has no attribute 'send_multipart'
Run Code Online (Sandbox Code Playgroud)
知道这里发生了什么吗?
编辑:我在python 3.4.0,ipython 2.0.0和matplotlib 1.3.1
我一直试图让ipython/jupyter笔记本在Google Compute Engine(Ubuntu 14.04 VM)上作为笔记本服务器运行,但无法连接到Python内核.
我从最新的Anaconda发行版开始.我可以通过网络从我的本地机器连接到笔记本服务器,浏览VM的目录树,并创建新的笔记本,但从不连接到内核(Jupyter右上角的橙色消息).笔记本电脑端口(8888)在防火墙设置中打开.iPython笔记本返回以下内容:
[I 19:21:10.152 NotebookApp] Using MathJax from CDN: https://cdn.mathjax.org/mathjax/latest/MathJax.js
[I 19:21:10.169 NotebookApp] Serving notebooks from local directory: /home/rattlerray
[I 19:21:10.170 NotebookApp] 0 active kernels
[I 19:21:10.170 NotebookApp] The IPython Notebook is running at: https://[all ip addresses on your system]:8888/
[I 19:21:10.170 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 19:22:13.835 NotebookApp] 302 GET / (98.169.96.157) 0.85ms
[I 19:22:31.902 NotebookApp] Creating new notebook in
[I 19:22:33.634 NotebookApp] …Run Code Online (Sandbox Code Playgroud) 例如,我按顺序运行4个脚本:
%run -i script1.py
%run -i script2.py
%run -i script3.py
%run -i script4.py
Run Code Online (Sandbox Code Playgroud)
每个执行时间都很长.在iPython笔记本中是否有任何方法可以并行运行脚本并从所有这些变量中返回局部变量(2或3个变量很重要)?在顺序执行中它工作正常但很长.先感谢您.
我试图应用这个主题的代码,但坚持第一部分:
def my_func(my_file):
!python pgm.py my_file
Run Code Online (Sandbox Code Playgroud)
或者在我的情况下:
def my_func(my_file):
%run -i $my_file
Run Code Online (Sandbox Code Playgroud)
我可以看到代码的执行正在发生但在此之后我无法从这些脚本中看到局部变量.
parallel-processing cluster-computing ipython ipython-notebook
我偶然发现了一些奇怪的行为,ipython-notebook并想知道目的是什么。如果在函数调用之前输入分号,则会得到将函数应用到反映函数名称后的所有代码的字符串的结果。例如,如果我;list('ab')得到的结果是list("('ab')"):
In [138]: ;list('ab')
Out[138]:
['(', "'", 'a', 'b', "'", ')']
Run Code Online (Sandbox Code Playgroud)
我使用的是jupyter带ipython 4。它发生在ipython和中ipython notebook。有没有人看过这个,或者有没有人知道它是否是预期的,如果是,为什么?
使用IPython Notebook进行数据挖掘时,通常需要花费很长时间。您等待In [*]:星星输出一些东西。
几个小时后,我终于注意到内核没有响应。我怎么确切知道内核是否正在运行?终端中有命令吗?
我正在研究如何在ipython笔记本中使用pandas:
import pandas as pd
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
AttributeError Traceback (most recent call last)
<ipython-input-17-c7ecb2b0a99d> in <module>()
----> 1 from pandas import *
D:\Anaconda\lib\site-packages\pandas\__init__.py in <module>()
20
21 # numpy compat
---> 22 from pandas.compat.numpy import *
23
24 try:
D:\Anaconda\lib\site-packages\pandas\compat\numpy\__init__.py in <module>()
8
9 # numpy versioning
---> 10 _np_version = np.version.short_version
11 _nlv = LooseVersion(_np_version)
12 _np_version_under1p8 = _nlv < '1.8'
AttributeError: module 'numpy' has no attribute 'version'
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决它,问题是什么?我的python的版本是3.6
ipython-notebook ×10
python ×6
ipython ×4
pandas ×3
jupyter ×2
autocomplete ×1
latex ×1
matplotlib ×1
numpy ×1
python-3.x ×1
sympy ×1