我经常遇到这个问题,当我在查看/打印[df.head()]数据并在编写下一行代码之前查看或查看数据时,我正在切片或子集化.对于这种情况,每次,我都必须在ipython中运行整个块(单元格),即使我有一些逻辑写入,我必须对该块进行注释并单独执行我的打印行.
是否有一个功能,您可以选择一行并执行它.
我有一个IPython笔记本.我有一个长时间运行的循环,在其中一个代码块中没有输出.不是这个,但想象一下:
for i in range(100):
time.sleep(2)
Run Code Online (Sandbox Code Playgroud)
我刚开始运行代码块,现在我无法判断它是否已完成,或者它是否仍在运行.
顶部的所有IPython状态栏都是Last Checkpoint: 23 minutes ago (autosaved).浏览器选项卡中没有任何内容可以显示它是否正在运行代码.
我不想启动下一个块,因为我不知道这个块是否已经完成.
而且我不想停止内核并向这个块添加print语句,因为如果它是80%的通过,我不想杀死它并重新启动它!
IPython中有什么东西 - 浏览器窗口或控制台 - 表示现在正在运行什么代码?
我正在读这本书,Python Machine Learning并试图分析代码.但它只提供*.ipynb文件,这让我非常麻烦.
例如,
在这段代码中,我不想运行整个In[9]但是想逐行运行,以便我可以检查变量的每个值并知道每个库函数的作用.
每次我想执行部分代码时,是否必须发表评论?我只是想类似Execute the block part像MATLAB
而且,让我说我评论代码的某些部分并逐行执行.如何在不使用print()或检查每个变量的值的情况下进行检查display()?如您所知,我不必使用print()检查python interactive shell终端中的值.是否有类似的方式Jupyter?
我有一些asyncio代码在Python解释器(CPython 3.6.2)中运行良好.我现在想在一个带有IPython内核的Jupyter笔记本中运行它.
我可以用它来运行它
import asyncio
asyncio.get_event_loop().run_forever()
Run Code Online (Sandbox Code Playgroud)
虽然这似乎工作,它似乎也阻止了笔记本电脑,似乎并没有与笔记本电脑很好玩.
我的理解是Jupyter使用了Tornado,所以我尝试按照Tornado文档中的建议安装Tornado事件循环:
from tornado.platform.asyncio import AsyncIOMainLoop
AsyncIOMainLoop().install()
Run Code Online (Sandbox Code Playgroud)
但是,这会产生以下错误:
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-1-1139449343fc> in <module>()
1 from tornado.platform.asyncio import AsyncIOMainLoop
----> 2 AsyncIOMainLoop().install()
~\AppData\Local\Continuum\Anaconda3\envs\numismatic\lib\site- packages\tornado\ioloop.py in install(self)
179 `IOLoop` (e.g., :class:`tornado.httpclient.AsyncHTTPClient`).
180 """
--> 181 assert not IOLoop.initialized()
182 IOLoop._instance = self
183
AssertionError:
Run Code Online (Sandbox Code Playgroud)
最后我找到了以下页面:http://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Asynchronous.html
所以我添加了一个包含以下代码的单元格:
import asyncio
from ipykernel.eventloops import register_integration
@register_integration('asyncio')
def loop_asyncio(kernel):
'''Start a kernel with asyncio event loop support.'''
loop = asyncio.get_event_loop() …Run Code Online (Sandbox Code Playgroud) 我使用编码utf-8创建了一个包.
调用函数时,它返回一个DataFrame,其中的列以utf-8编码.
在命令行中使用IPython时,显示此表的内容时没有任何问题.使用Notebook时,它会因错误而崩溃'utf8' codec can't decode byte 0xe7.我在下面附上了一个完整的追溯.
使用Notebook的正确编码是什么?
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-13-92c0011919e7> in <module>()
3 ver = verif.VerificacaoNA()
4 comp, total = ver.executarCompRealFisica(DT_INI, DT_FIN)
----> 5 comp
c:\Python27-32\lib\site-packages\ipython-0.13.1-py2.7.egg\IPython\core\displayhook.pyc in __call__(self, result)
240 self.update_user_ns(result)
241 self.log_output(format_dict)
--> 242 self.finish_displayhook()
243
244 def flush(self):
c:\Python27-32\lib\site-packages\ipython-0.13.1-py2.7.egg\IPython\zmq\displayhook.pyc in finish_displayhook(self)
59 sys.stdout.flush()
60 sys.stderr.flush()
---> 61 self.session.send(self.pub_socket, self.msg, ident=self.topic)
62 self.msg = None
63
c:\Python27-32\lib\site-packages\ipython-0.13.1-py2.7.egg\IPython\zmq\session.pyc in send(self, stream, msg_or_type, content, parent, ident, buffers, subheader, track, header)
557 …Run Code Online (Sandbox Code Playgroud) 我刚刚在我的笔记本电脑上安装了IPython3.0 pip,运行Ubuntu14.04:
$ pip search ipython
ipython-cluster-helper - Simplify IPython cluster start up and use for
multiple schedulers.
ipython - IPython: Productive Interactive Computing
INSTALLED: 3.0.0 (latest)
Run Code Online (Sandbox Code Playgroud)
但是,当我去使用时IPython,终端似乎认为它使用的是1.2.1版本:
$ ipython
Python 2.7.6 (default, Mar 22 2014, 22:59:38)
Type "copyright", "credits" or "license" for more information.
IPython 1.2.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details …Run Code Online (Sandbox Code Playgroud) 在IPython笔记本中,以下代码显示单元格下方的SVG:
from IPython.display import SVG
SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg')
Run Code Online (Sandbox Code Playgroud)
以下内容不显示:
from IPython.display import SVG
def show_svg():
SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg')
Run Code Online (Sandbox Code Playgroud)
有没有办法在函数(或类)中显示SVG?
我运行一个iPython Notebook服务器,并希望用户能够将pandas数据帧下载为csv文件,以便他们可以在自己的环境中使用它.没有个人数据,所以如果解决方案涉及在服务器上写入文件(我可以做),然后下载该文件,我会很高兴.
在IPython笔记本(例如v3.1)中,我可以添加一个~/.ipython/profile_default/static/custom/custom.js文件来执行一些自定义JavaScript.例如,我可以这样做:
require(['base/js/namespace', 'base/js/events'], function(IPython, events) {
console.log("A");
events.on('app_initialized.NotebookApp', function() {
console.log("B");
});
console.log("C");
});
Run Code Online (Sandbox Code Playgroud)
然后,在JS控制台中,我会看到A,接着是B,然后是C.
现在,从版本4.0开始,他们将它分解为Jupyter笔记本.加载相同的文件(尽管事实是它在下面~/.ipython,而不是在下面~/.jupyter),并且代码被执行.但是,我不再看到这B条线.我猜应用程序没有初始化.我仍然看到它在源代码中被触发,但是后来会发生,还是只是不起作用?
我如何让事情再次发挥作用?我不需要再等了app_initialized吗?在某处记录了这些吗?
这个页面似乎表明,现在的方法是创建一个自定义扩展并将所有操作放在该load_ipython_extension函数中.是对的吗?如果是这样,mathjax怎么样?和CodeMirror选项?
我是原始新手中最新的.我刚刚按照http://ipython.org/install.html上 anaconda的说明在Mac(MacOS 10.7.5)上安装了IPython ,没有明显的错误.我现在想通过示例笔记本工作.在笔记本"第1部分 - 运行代码"中,一切正常,直到我到达
%matplotlib内联
然后我收到错误消息
错误:%matplotlib未找到线条魔术功能.
之后的所有工作,除了绘图,而不是显示内联,弹出一个新窗口.
ipython-notebook ×10
ipython ×5
python ×4
jupyter ×3
pandas ×2
csv ×1
json ×1
matplotlib ×1
svg ×1
ubuntu ×1
ubuntu-14.04 ×1