从上一篇文章中,我们发现 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">


计算该单元格之后,会出现这样的结果:

jupyter电影数据分析 jupyter notebook案例_Python

 

另外,markdown 单元格还支持 LaTex 语法。例如:

$$\int_0^{+\infty} x^2 dx$$

计算上述单元格,将获得下面的 LaTex 方程式:

jupyter电影数据分析 jupyter notebook案例_jupyter电影数据分析_02

导出功能

notebook另一个强大的功能就是导出功能。你可以把你的notebook(例如是个图解代码课程)导出为如下多种形式:

  • HTML
  • Markdown
  • ReST
  • PDF(Through LaTex)
  • Raw Python

如果导出成PDF格式,你甚至可以不使用LaTex就创建了一个漂亮的文档。或者,你可以将你的notebook保存为HTML格式,发布到个人网站上。你还可以导出成ReST格式,作为软件库的文档。

Matplotlib 集成

如果你用Python画过图,应该知道matplotlib。Matplotlib是用来画图的Python库。与Jupyter notebook结合使用时,效果更好。下面,让我们来看看如何在Jupyter notebook中使用matplotlib。

为了在Jupyter notebook中使用matplotlib,你需要告诉Jupyter获取所有matplotlib生成的图形,并把它们全部嵌入到notebook中。为此,只需输入以下命令:

%matplotlib inline

这条语句执行可能耗费几秒钟,但是只需要你打开notebook时执行一次就好。让我们作个图,看看是怎么集成的:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(20)
y = x**2

plt.plot(x, y)

这段简单代码将绘出

jupyter电影数据分析 jupyter notebook案例_HTML_03

对应的二次曲线。运行这个cell,结果如下所示:

jupyter电影数据分析 jupyter notebook案例_HTML_04

我们可以看到,图直接嵌入到notebook中,就在代码下面。修改代码,重新运行,图形将自动同步更新。对于每个想要把代码和图形放在同一个文件中的数据科学家来说,这是一个很好的特性,这样可以清楚知道每段代码究竟干了什么。同时,在文档中添加一些文字型描述也有很大的作用。

 

非本地内核

Jupyter notebook非常容易从本地电脑上启动,也允许多个人通过网络连接到同一个Jupyter实例。你是否注意到,在上一部分的教程中,启动Jupyter时出现了下面这条语句:

IPython Notebook运行在:http://localhost:8888/

这条语句表示你的notebook是本地运行,可以在浏览器中输入地址http://localhost:8888/,打开你的notebook。通过修改配置,可以让notebook面向公开访问。这样,任何人如果知道这个notebook地址,就通过浏览器可以远程访问并修改notebook。

结语

通过这两个部分的入门教程,我们知道了Jupyter notebook是一个非常强大的工具,允许使用者为数据分析、教育、文件等任何你可以想到的内容创建漂亮的交互式文档。不要犹豫,探索它更多的功能和可能性。如果你有任何问题或者想感谢开发者们,请给他们反馈。