如果我将YouTube视频片段嵌入到iPython笔记本中:
from IPython.display import YouTubeVideo
YouTubeVideo("Pi9NpxAvYSs")
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将它嵌入到特定时间?所以1:47:03 - 1小时47分3秒?
我正在试验,IPython.parallel只是想在不同的引擎上启动几个shell命令.
我有以下笔记本:
单元格0:
from IPython.parallel import Client
client = Client()
print len(client)
5
Run Code Online (Sandbox Code Playgroud)
并启动命令:
单元格1:
%%px --targets 0 --noblock
!python server.py
Run Code Online (Sandbox Code Playgroud)
单元格2:
%%px --targets 1 --noblock
!python mincemeat.py 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
单元格3:
%%px --targets 2 --noblock
!python mincemeat.py 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
它的作用是使用mincemeatMapReduce 的实现.当我启动第!python mincemeat.py 127.0.0.1一个核心时,它大约使用100%的一个核心,然后当我启动第二个核心时,每个核心降低到50%.我在机器上有4个核心(+虚拟核心),可以直接从终端启动而不是在笔记本电脑中使用它们.
有什么我想念的吗?我想为每个!python mincemeat.py 127.0.0.1命令使用一个核心.
编辑:
为清楚起见,这是另一个不使用多核的东西:
单元格1:
%%px --targets 0 --noblock
a = 0
for i in xrange(100000):
for j in xrange(10000):
a += 1
Run Code Online (Sandbox Code Playgroud)
单元格2:
%%px --targets 0 --noblock
a = …Run Code Online (Sandbox Code Playgroud) 在Jupyter笔记本中,有一些内置的魔法可以改变笔记本电脑的内容.例如,%load魔术用文件系统上的文件内容替换当前单元格的内容.
如何编写一个类似的自定义魔术命令?
到目前为止我所做的东西都是stdout
def tutorial_asset(line):
print('hello world')
def load_ipython_extension(ipython):
ipython.register_magic_function(tutorial_asset, 'line')
Run Code Online (Sandbox Code Playgroud)
我可以加载它%load_ext tutorial_asset.但是从那里我迷失了.
[编辑]:
我找到了一种方法来访问交互式shell实例:
@magics_class
class MyMagics(Magics):
@line_magic
def tutorial_asset(self, parameters):
self.shell
Run Code Online (Sandbox Code Playgroud)
该self.shell对象似乎可以完全访问笔记本中的单元格集,但我能找到修改单元格的唯一方法就是这样做self.shell.set_next_input('print("hello world")').这是不够的,因为在Jupyter笔记本中,跳过输入单元格,并且它不会覆盖输入单元格,而是在它之后创建一个新的输入单元格.
这样会很好,但如果我第二次运行笔记本,它会创建另一个加载了相同文件的输入单元,这很烦人.我可以通过检查内容是否已经在下一个单元格中来加载一次吗?
我正在使用梦幻般的Notebook进行交互式分析和Pandas在IPython中构建一些交互式工作流程.
我正在显示的一些表格通过一些格式化更容易阅读.我真的很喜欢像"斑马桌"这样的东西,其中每一行都有阴影.我在这里读到了如何通过css实现这种格式化.是否有一种非常直接的方法将css应用于IPython Notebook,然后使用样式表呈现表格?
我试图使用ipython笔记本.我安装了所有依赖库.但是,在Ipython控制台中启动ipython或"savefig"功能时,我无法使用"--pylab = inline"选项.当我尝试执行其中任何一个时,由于执行matplotlib而返回错误消息"RuntimeError:无法创建写入结构".此外,来自notebookApp提示的警告说"libpng警告:使用libpng-1.2.41构建的应用程序,但运行1.5.13".
但是,我安装了最新的libpng(1.5.13),卸载了pp卸载的matplotlib,并重新安装了pp install的matplotlib(在构建过程中,我可以看到libpng1.5.13用于构建matplotlib).
我的系统配置是Mac OS X10.6,python2.7.有人有类似的经历或一些建议吗?
以下是回溯错误:
[<matplotlib.lines.Line2D at 0x106066d50>]
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/zmq/pylab/backend_inline.pyc in show(close)
100 try:
101 for figure_manager in Gcf.get_all_fig_managers():
--> 102 send_figure(figure_manager.canvas.figure)
103 finally:
104 show._to_draw = []
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/zmq/pylab/backend_inline.pyc in send_figure(fig)
209 """
210 fmt = InlineBackend.instance().figure_format
--> 211 data = print_figure(fig, fmt)
212 # print_figure will return None if there's nothing to draw:
213 if data is None:
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt)
102 try:
103 bytes_io = BytesIO()
--> …Run Code Online (Sandbox Code Playgroud) 所以我第一次安装了IPython(Windows 7 64位).按照这里的说明:
下载并安装了Anaconda 1.9.1然后给出了命令
conda update conda
conda update ipython
Run Code Online (Sandbox Code Playgroud)
(以管理员身份运行命令行终端)
安装完成OK,我试图从这里打开一个示例.ipynb笔记本文件;
但我得到以下错误;
Error loading notebook
Unreadable Notebook: Notebook does not appear to be JSON: '\n\n
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一些来自IPython示例笔记本的其他示例笔记本,并且都无法打开并给出相同的错误!
谁知道这里有什么问题以及如何解决?
我在某种程度上无法改变IPython中的当前工作目录,我不知道为什么.
在下面的示例中,我从C驱动器的根目录启动IPython,并尝试以多种方式更改当前工作目录.奇怪的事情导致:
C:\>ipython
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.
IPython 2.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: cd
C:\Users\jkokorian
In [2]: %cd "C:\Dell"
C:\Dell
In [3]: cd
C:\Users\jkokorian
In [4]: import os
In [5]: os.chdir("C:\Dell")
In [6]: …Run Code Online (Sandbox Code Playgroud) 目前在Docker遇到问题; 我用它来运行一个启动时启动ipython笔记本的图像.我想对ipython笔记本本身进行一些编辑,所以我需要在启动后关闭它.
但是,在终端中按CTRL + C只输入"^ C"作为字符串.似乎没有真正的方法使用CTRL + C来实际关闭ipython笔记本实例.
任何人都有任何线索可以解决这个问题,或者知道任何解决方案吗?
我一直在探索Jupyter Incubator Dashboards项目中的第一步和第二步(更多信息请访问:https://github.com/jupyter-incubator/dashboards/wiki).将我的笔记本变成可用的仪表板很简单,这很棒.
我的问题是我不确定第三步,即共享/托管仪表板.我在一个拥有本地服务器的企业环境中.我需要能够在本地服务器上共享仪表板,然后让人们通过Web访问它们.从本质上讲,我需要从第二步(dashboards_bundlers)中"部署为本地仪表板"选项.但是,似乎现在不推荐使用此功能.
我的问题是,有一种简单的方法可以在这里本地共享仪表板吗?我一直在看dashboards_server应用程序,但它现在看起来有点过头了.这里的功能看起来很强大,但可能比我们目前需要的更多.
如果这是唯一的选择,那么我将继续前进,但我想先看看是否有人有更简单的解决方案.
真的不明白它是一个错误或者只是我的局部问题,仍然有一些问题与使用tqdm进度条与progress_apply在Jupyter.
第一次尝试:
from tqdm import tqdm
tqdm_notebook.pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Run Code Online (Sandbox Code Playgroud)
输出(没有任何条形):
AttributeError: 'function' object has no attribute 'pandas'
Run Code Online (Sandbox Code Playgroud)
第二次尝试:
from tqdm import tqdm
tqdm_notebook().pandas(desc="Example Desc")
keywords_df['keyword'] = keywords_df['keywird'].progress_apply(lambda x: x.replace('*',''))
Run Code Online (Sandbox Code Playgroud)
输出: 两个条(需要一个).第一个栏是空的(0:[00:00,?it/s]),第二个是OK.
任何想法如何更改progress_apply描述和显示栏没有空的初始化栏?:)
PS 文档(https://github.com/tqdm/tqdm)说我可以使用tqdm_notebook,但它对我不起作用:)
# Register `pandas.progress_apply` and `pandas.Series.map_apply` with `tqdm`
# (can use `tqdm_gui`, `tqdm_notebook`, optional kwargs, etc.)
tqdm.pandas(desc="my bar!")
Run Code Online (Sandbox Code Playgroud)