15個應該掌握的Jupyter Notebook 使用技巧

2020-09-21 12:00:43

Jupyter Notebook是一個基於瀏覽器的互動式程式設計環境(REPL, read eval print loop),它主要構建在IPython等開源庫上,允許我們在瀏覽器上執行互動式python程式碼。並且有許多有趣的外掛和神奇的命令,大大增強了python的程式設計體驗。

1. 計算單元的執行時間

我們可以在一個jupyter notebook單元的開頭使用%%time命令來計算執行該單元的時間。

2. 進度條

可以使用python外部庫建立進度條,它可以實時更新程式碼執行的進度。它讓使用者知道正在執行的程式碼指令碼的狀態。你可以在這裡獲得相關的庫Github庫。使用進度條設定,具體操作如下:

首先,安裝tqdm庫:
在cmd命令視窗輸入pip3 install tqdm或者直接在jupyter notebook單元內輸入!pip install tqdm

然後,通過以下命令生成進度條:

3. 程式碼格式自動補全

有時jupyter notebook單元格中的程式碼段格式不好,通過nb_black庫,可以自動調整程式碼段的正確格式,讓程式碼具有更好的可讀性。

安裝nb_black庫:

pip3 install nb_black

在jupyter notebook 中使用:

%load_ext nb_black

格式混亂的程式碼段

自動調整後的程式碼段

4. 下載並安裝Python庫

Jupyter notebook可以通過在單元格內輸入!pip install ***程式碼,自動下載並安裝指定的python庫。
以pandas庫為例,具體程式碼如下:

5. 函數說明檔案

通過shift+tab快捷鍵,可以在jupyter notebook 內直接開啟函數的說明檔案。

具體使用方式如下:

  • 輸入使用的函數名
  • 按下快捷鍵shift+tab
  • 點選彈出視窗中的^按鈕可以在當前視窗中顯示說明檔案
  • 點選+可以控制文字向下滑動
  • 點選x可以關閉說明檔案視窗

pandas 中 read_csv 函數的說明檔案

6. 程式碼自動補全

Jupyter notebook可以顯示任何函數名或變數的補全建議。若要檢視補全建議,可以按鍵盤上的Tab鍵,建議將出現在一個自上而下顯示的選單中。單擊關鍵字或在所選關鍵字上單擊enter鍵以確認補全的程式碼。

pandas 中函數的補全建議

7. 調整輸出結果的顯示視窗

Jupyter notebook 可以在程式碼單元格的下方顯示輸出。當使用者的輸出過多時,可以選擇調整顯示視窗的尺寸,將該顯示視窗調整為一個捲動視窗。並且在顯示視窗左邊雙擊,可以摺疊該視窗。

調整顯示視窗

8. 單元執行快捷鍵

通過以下快捷鍵可以提高程式設計效率:

  • shift+enter 執行當前單元,並且高亮顯示下一單元,如果沒有下一單元就新建一個單元。
  • alt+enter 執行當前單元,並且插入一個新單元並高亮顯示。

9. Markdown筆記

Jupyter notebook的單元格不僅可以執行程式碼段,還可以設定單元格為Markdown方式用來編寫文字。

轉換方式如下:

  • 點選目標單元格
  • 選中「Markdown」選項

單元格由程式碼模式轉換至Markdown模式

Markdown模式執行效果

10. 執行不同的程式語言

Jupyter notebook還可以用來編譯和執行來自不同語言的程式碼。只需要在單元格開頭處輸入%%****命令,就可以執行****對應的語言程式碼:

  • %%bash
  • %%HTML
  • %%python2
  • %%python3
  • %%ruby
  • %%perl

在jupyter notebook 單元格內執行HTML程式碼

11. 多行同時編輯

Jupyter Notebook支援同時使用多個遊標編輯程式碼。通過alt鍵選擇要編輯的程式碼段後,可以同時使用多個遊標編輯程式碼。

12. 建立演示檔案

Jupyter notebook可用於建立PowerPoint樣式的簡報。在這裡,筆電的每個單元格或單元格組都可以視為幻燈片。

  • 首先,安裝RISE庫(conda install -c damianavila82 rise
  • 安裝後,RISE 相關按鈕將會新增進工具列(view->cell->toolbar->slideshow)
  • 選中需要展示的單元格,可將其設定為一個幻燈片
  • 選擇完畢後,點選RISE Sliedeshow按鈕完成演示檔案的建立

13. 共用Jupyter notebook

程式程式碼寫完後,Jupyter notebook 提供了多種形式以便於使用者進行分享:

  • 以 HTML, PDF, ipynb, py等檔案格式進行分享

  • 使用JupyterHub,它可以建立一個多使用者共用Hub,該Hub生成、管理和代理使用者Jupyter筆電伺服器。

  • 直接上傳到網路當中

14. 資料展示

Jupyter notebook可以通過眾多的python庫和R語言相關庫,生成不同的圖表。常用的庫有:

  • Matplotlib
  • Seaborn
  • bokeh
  • plot.ly

各種圖表樣式

15. 快捷鍵方式

使用快捷方式可以節省程式設計師大量的時間並優化程式設計體驗。Jupyter notebook有很多內建的鍵盤快捷鍵,可以在「help」選單欄下找到:「help」>「Help>Keyboard Shortcuts」。

Jupyter notebook還提供了編輯鍵盤快捷鍵的功能,以方便程式設計師進行個性化設定。

快捷鍵面板(命令模式)

快捷鍵面板(編輯模式)

作者:Satyam Kumar

deephub翻譯組:Oliver Lee