本文作者為 Marin Gilles,他是來(lái)自法國(guó)的一位物理學(xué)博士生,用 Python 開(kāi)發(fā)了自己的物理學(xué)模擬框架。本文分為兩部分,這是第二部分,為 Python 翻譯組 成立后的第一篇譯文,譯者 EarlGrey。
從上一篇文章中,我們發(fā)現(xiàn) Jupyter notebook 的基本功能就可以支持完成許多事情。不過(guò)它背后的功能和選項(xiàng)并不止于此。本文將進(jìn)一步介紹一些有用的操作。
高級(jí)單元格操作,將讓編寫 notebook 變得更加方便。舉例如下:
如果想刪除某個(gè)單元格,可以選擇該單元格,然后依次點(diǎn)擊Edit
-> Delete Cell
;
如果想移動(dòng)某個(gè)單元格,只需要依次點(diǎn)擊Edit
-> Move cell [up | down]
;
如果想剪貼某個(gè)單元測(cè),可以先點(diǎn)擊Edit
-> Cut Cell
,然后在點(diǎn)擊Edit
-> Paste Cell [Above | Below]
;
如果你的 notebook 中有很多單元格只需要執(zhí)行一次,或者想一次性執(zhí)行大段代碼,那么可以選擇合并這些單元格。點(diǎn)擊Edit
-> Merge Cell [Above | below]
。
記住這些操作,它們可以幫助你節(jié)省許多時(shí)間。
我們?cè)賮?lái)看看 Markdown 單元格。雖然它的類型是 markdown,但是這類單元格也接受 HTML 代碼。這樣,你就可以在單元格類實(shí)現(xiàn)更加豐富的樣式,添加圖片,等等。例如,如果想在 notebook 中添加 Jupyter 的 logo,將其大小設(shè)置為 100px x 100px,并且放置在單元格左側(cè),可以這樣編寫:
<img src="http://blog.jupyter.org/content/images/2015/02/jupyter-sq-text.png"style="width:100px;height:100px;float:left">
計(jì)算該單元格之后,會(huì)出現(xiàn)這樣的結(jié)果:
另外,markdown 單元格還支持 LaTex 語(yǔ)法。例如:
$$\int_0^{+\infty} x^2 dx$$
計(jì)算上述單元格,將獲得下面的 LaTex 方程式:
notebook 還有一個(gè)強(qiáng)大的特性,就是其導(dǎo)出功能??梢詫?notebook 導(dǎo)出為多種格式:
HTML
Markdown
ReST
PDF(通過(guò) LaTeX)
Raw Python
導(dǎo)出 PDF 功能,可以讓你不用寫 LaTex 即可創(chuàng)建漂亮的 PDF 文檔。你還可以將 notebook 作為網(wǎng)頁(yè)發(fā)布在你的網(wǎng)站上。甚至,你可以導(dǎo)出為 ReST 格式,作為軟件庫(kù)的文檔。
如果你用 Python 繪制過(guò)圖形,那你肯定知道 matplotlib。Matplotlib 是一個(gè)用于創(chuàng)建漂亮圖形的 Python 庫(kù),結(jié)合 Jupyter notebook 使用時(shí)體驗(yàn)更佳。
要想在 Jupyter notebook 中使用 matplotlib,需要告訴 Jupyter 獲取 matplotlib 生成的所有圖形,并將其嵌入 notebook 中。為此,需要計(jì)算:
%matplotlib inline
譯注:要想執(zhí)行成功,需要先
pip install matplotlib
。
運(yùn)行這個(gè)指令可能要花個(gè)幾秒鐘,但是在 notebook 中需要執(zhí)行一次即可。接下來(lái),我們來(lái)繪制一個(gè)圖形,看看具體的集成效果:
import matplotlib.pyplot as pltimport numpy as np
x = np.arange(20)
y = x**2plt.plot(x, y)
上面的代碼將繪制方程式 y=x^2 。計(jì)算單元格后,會(huì)得到如下圖形:
我們看到,繪制出的圖形直接添加在了 notebook 中,就在代碼的下面。我們可以之后修改代碼,重新計(jì)算,這時(shí)圖形也會(huì)動(dòng)態(tài)更新。這是每個(gè)數(shù)據(jù)科學(xué)家都想要的一個(gè)特性:將代碼和圖片放在同一個(gè)文件中,清楚地看出每段代碼的效果。
我們可以非常容易地在一臺(tái)電腦上啟動(dòng) Jupyter,而且支持多人通過(guò)網(wǎng)絡(luò)連接同一個(gè) Jupyter 實(shí)例。在上一篇文章中,你有沒(méi)有注意啟動(dòng) Jupyter 時(shí)出現(xiàn)過(guò)這樣一段話:
The IPython Notebook is running at: http://localhost:8888/
這意味著,你的 notebook 是本地運(yùn)行的,可以在瀏覽器上打開(kāi) http://localhost:8888/ ,從而訪問(wèn) notebook。你也可以修改下配置,讓該 notebook 可以被公開(kāi)訪問(wèn)。這樣,任何知道 notebook 地址的人都可以連接到 notebook 進(jìn)行遠(yuǎn)程修改。
從這兩篇快速入門介紹中,我們可以看到:Jupyter notebook 是一個(gè)非常強(qiáng)大的工具,可以創(chuàng)建漂亮的交互式文檔,制作教學(xué)材料,等等。建議你馬上開(kāi)始使用 Jupyter notebook,探索更多 notebook 的強(qiáng)大功能。
聯(lián)系客服