Jupyter Notebook 學習篇
而關閉 notebook 文件可以通過選擇檔名前的複選框後,點選 Shutdown
按鈕實現。如果要關閉整個服務,則在原來的終端中按 Control + C
兩次。
介面
Notebook 文件是由一系列單元(Cell)構成,主要有兩種形式的單元:
程式碼單元:這裡是你編寫程式碼的地方,通過按
Shift + Enter
執行程式碼,其結果顯示在本單元下方。程式碼單元左邊有In [1]:
這樣的序列標記,方便人們檢視程式碼的執行次序。Markdown 單元:在這裡對文字進行編輯,採用 markdown 的語法規範,可以設定文字格式、插入連結、圖片甚至數學公式。同樣使用
Shift + Enter
類似於 Linux 的 Vim 編輯器,在 notebook 中也有兩種模式:
編輯模式:編輯文字和程式碼。選中單元並按
Enter
鍵進入編輯模式,此時單元左側顯示綠色豎線。命令模式:用於執行鍵盤輸入的快捷命令。通過
Esc
鍵進入命令模式,此時單元左側顯示藍色豎線。
如果要使用快捷鍵,首先按 Esc
鍵進入命令模式,然後按相應的鍵實現對文件的操作。比如切換成程式碼單元(Y
)或 markdown 單元(M
),或者在本單元的下方增加一單元(B
)。檢視所有快捷命令可以按H
。
儘管一開始需要花費一些學習成本,但熟練使用快捷鍵將大大提高工作效率。試想你在鍵盤上十指如飛時,如果還需要通過滑鼠來操作文件,是不是很影響思考速度呢?
三、Jupyter Notebook 進階功能
數學公式編輯
如果你曾做過嚴肅的學術研究,一定對 LaTeX 並不陌生,這簡直是寫科研論文的必備工具,不但能實現嚴格的文件排版,而且能編輯複雜的數學公式。在 Jupyter Notebook 的 markdown 單元中我們也可以使用 LaTeX 的語法來插入數學公式。
在文字行中插入數學公式,使用一對 $
符號,比如質能方程 $E = mc^2$
。如果要插入一個數學區塊,則使用一對 $$
符號。比如下面公式表示 z=x/y:
$$ z = \frac{x}{y} $$
幻燈片製作
既然Jupyter Notebook 擅長展示資料分析的過程,除了通過網頁形式分享外,當然也可以將其製作成幻燈片的形式。這裡有一個幻燈片
那麼如何用 Jupyter Notebook 製作幻燈片呢?首先在 notebook 的選單欄選擇 View > Cell Toolbar > Slideshow,這時在文件的每個單元右上角顯示了 Slide Type 的選項。通過設定不同的型別,來控制幻燈片的格式。有如下5中型別:
- Slide:主頁面,通過按左右方向鍵進行切換。
- Sub-Slide:副頁面,通過按上下方向鍵進行切換。
- Fragment:一開始是隱藏的,按空格鍵或方向鍵後顯示,實現動態效果。
- Skip:在幻燈片中不顯示的單元。
- Notes:作為演講者的備忘筆記,也不在幻燈片中顯示。
當編寫好了幻燈片形式的 notebook,如何來演示呢?這時需要使用 nbconvert
:
jupyter nbconvert notebook.ipynb --to slides --post serve
在命令列中敲入上述程式碼後,瀏覽器會自動開啟相應的幻燈片。
魔術關鍵字
魔術關鍵字(magic keywords),正如其名,是用於控制 notebook 的特殊的命令。它們執行在程式碼單元中,以 %
或者 %%
開頭,前者控制一行,後者控制整個單元。
比如,要得到程式碼執行的時間,則可以使用 %timeit
;如果要在文件中顯示 matplotlib 包生成的圖形,則使用 % matplotlib inline
;如果要做程式碼除錯,則使用 %pdb
。但注意這些命令大多是在Python kernel 中適用的,其他 kernel 大多不適用。有許許多多的魔術關鍵字可以使用,更詳細的清單請參考 Built-in magic commands 。