Jupyter Notebook 快速入门(下)
转载自:http://blog.****.net/panghaomingme/article/details/53068458,有补充
从上一篇文章中,我们发现 Jupyter notebook 的基本功能就可以支持完成许多事情。不过它背后的功能和选项并不止于此。本文将进一步介绍一些有用的操作。
单元格操作
高级单元格操作,将让编写 notebook 变得更加方便。举例如下:
- 如果想删除某个单元格,可以选择该单元格,然后依次点击
Edit
->Delete Cell
; - 如果想移动某个单元格,只需要依次点击
Edit
->Move cell [up | down]
; - 如果想剪贴某个单元测,可以先点击
Edit
->Cut Cell
,然后在点击Edit
->Paste Cell [Above | Below]
; - 如果你的 notebook 中有很多单元格只需要执行一次,或者想一次性执行大段代码,那么可以选择合并这些单元格。点击
Edit
->Merge Cell [Above | below]
。
记住这些操作,它们可以帮助你节省许多时间。
Markdown 单元格高级用法
我们再来看看 Markdown 单元格。虽然它的类型是 markdown,但是这类单元格也接受 HTML 代码。这样,你就可以在单元格类实现更加丰富的样式,添加图片,等等。例如,如果想在 notebook 中添加 Jupyter 的 logo,将其大小设置为 100px x 100px,并且放置在单元格左侧,可以这样编写:
<img src="http://blog.jupyter.org/content/images/2015/02/jupyter-sq-text.png" style="width:100px;height:100px;float:left">
计算该单元格之后,会出现这样的结果:
另外,markdown 单元格还支持 LaTex 语法。例如:
$$\int_0^{+\infty} x^2 dx$$
计算上述单元格,将获得下面的 LaTex 方程式:
导出功能
notebook 还有一个强大的特性,就是其导出功能。可以将 notebook 导出为多种格式:
- HTML
- Markdown
- ReST
- PDF(通过 LaTeX)
- Raw Python
导出 PDF 功能,可以让你不用写 LaTex 即可创建漂亮的 PDF 文档。你还可以将 notebook 作为网页发布在你的网站上。甚至,你可以导出为 ReST 格式,作为软件库的文档。
在导出为为PDF时报错:
nbconvert failed: xelatex not found on PATH, if you have not installed xelatex you may need to do so. Find further instructions at https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex.Anaconda2-5.0.1版本安装了pandoc,但是没有安装xelatex,可以根据
https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex
来安装,windows下安装MikTex;(如果程序没有自动配置环境变量)需要手动配置环境变量,把安装路径配置到系统path中。如我的是将D:\program\MiKTeX 2.9\miktex\bin\x64放置path中。安装好后要重新打开jupyter notebook。如下:
再选择转换PDF,提示安装各种包,点击安装即可(可参考:http://blog.****.net/dream_an/article/details/51799067)。完成后可成功转换为PDF。
Matplotlib 集成
如果你用 Python 绘制过图形,那你肯定知道 matplotlib。Matplotlib 是一个用于创建漂亮图形的 Python 库,结合 Jupyter notebook 使用时体验更佳。
要想在 Jupyter notebook 中使用 matplotlib,需要告诉 Jupyter 获取 matplotlib 生成的所有图形,并将其嵌入 notebook 中。为此,需要计算:
%matplotlib inline
译注:要想执行成功,需要先
pip install matplotlib
。
运行这个指令可能要花个几秒钟,但是在 notebook 中需要执行一次即可。接下来,我们来绘制一个图形,看看具体的集成效果:
import matplotlib.pyplot as plt import numpy as np x = np.arange(20) y = x**2 plt.plot(x, y)
上面的代码将绘制方程式 y=x^2 。计算单元格后,会得到如下图形:
我们看到,绘制出的图形直接添加在了 notebook 中,就在代码的下面。我们可以之后修改代码,重新计算,这时图形也会动态更新。这是每个数据科学家都想要的一个特性:将代码和图片放在同一个文件中,清楚地看出每段代码的效果。
非本地内核
我们可以非常容易地在一台电脑上启动 Jupyter,而且支持多人通过网络连接同一个 Jupyter 实例。在上一篇文章中,你有没有注意启动 Jupyter 时出现过这样一段话:
The IPython Notebook is running at: http://localhost:8888/
这意味着,你的 notebook 是本地运行的,可以在浏览器上打开 http://localhost:8888/ ,从而访问 notebook。你也可以修改下配置,让该 notebook 可以被公开访问。这样,任何知道 notebook 地址的人都可以连接到 notebook 进行远程修改。
结语
从这两篇快速入门介绍中,我们可以看到:Jupyter notebook 是一个非常强大的工具,可以创建漂亮的交互式文档,制作教学材料,等等。建议你马上开始使用 Jupyter notebook,探索更多 notebook 的强大功能。