提升 Jupyter Notebook 使用體驗的五個隱藏功能

提升 Jupyter Notebook 使用體驗的五個隱藏功能

Jupyter Notebook是一個交互式的、便於創建的、支持實時編程和共享文檔的編程環境。本文將帶大家學習幾個Jupyter Notebook的擴展功能,以便大家更方便的使用這個寶貴的工具。

首先我們在命令提示符輸入以下命令:

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install 

然後啟動Jupyter Notebook並導航到新的Nbextensions拓展選項卡,如下圖所示:

提升 Jupyter Notebook 使用體驗的五個隱藏功能

接下來啟動擴展選項卡(如果沒有看到選項卡,打開Notebook並單擊Edit>nbextensions config),啟用後的擴展可以在Notebook中的工具欄中看到,如下圖所示:

提升 Jupyter Notebook 使用體驗的五個隱藏功能

那麼什麼是Notebook的擴展呢?Jupyter Notebook擴展是擴展Notebook環境基本功能的簡單附加組件。它們用JavaScript編寫,可以自動格式化代碼,或者當單元格完成時發送瀏覽器通知。擴展目前只能在Jupyter Notebook,而不能在Jupyter Lab中工作。

為什麼使用這些Jupyter Notebook擴展?Jupyter Notebook是教學、學習、原型、探索和嘗試新方法的好工具。然而,普通Notebook的特性是有限的,這可能使它們的工作無法滿足很多人進一步的需求。雖然Jupyter Notebook擴展並不能完全解決問題,但它們確實增加了一些好處,使我們的工作變得更加容易。

以下是最常使用的5個Jupyter Notebook的擴展:

1. Table of Contents:

如果我們需要在Jupyter Notebook中找到幾十個單元,就很難完全跟蹤它們。而Table of Contents通過添加可以位於頁面上任何位置的鏈接來很好的解決這個問題:

提升 Jupyter Notebook 使用體驗的五個隱藏功能

此外,我們還可以使用擴展名在Notebook的頂部添加鏈接的內容表。這樣可以很方便的顯示,選擇哪個單元以及哪個單元正在運行,如下圖所示:

提升 Jupyter Notebook 使用體驗的五個隱藏功能

2. Autopep8:

事實上,我們每個人都應該編寫與pep8兼容的代碼,但有時我們會陷入困惑之中,很難找到最佳的練習。當我們遇到這種情況時,這個Autopep8的擴展允許我們通過單擊上方的"木槌"按鈕",自動格式化混亂的代碼。如下圖所示:

提升 Jupyter Notebook 使用體驗的五個隱藏功能

這就像最好的附加組件一樣,這個Autopep8組件通過簡單的單擊完成一項耗時長且乏味的任務,使我們能夠集中精力思考主要的問題。

3. Variable inspector:

Variable inspector(變量檢查器)顯示我們在Notebook中創建的所有變量的名稱,以及它們的類型、大小、形狀和值。如下圖所示:

提升 Jupyter Notebook 使用體驗的五個隱藏功能

這個工具對於從RStudio遷移來的項目來說是非常寶貴的。或是當我們不想繼續打印df.shape、無法回憶 x 的類型時,Variable inspector將變得非常有用。

4. ExecuteTime:

我們有時經常想要弄清楚一個單元需要多長時間運行,或者我們最後一次運行一個Notebook具體是什麼時候,ExecuteTime通過顯示單元格何時完成以及花費多長時間來解決這兩個問題。

提升 Jupyter Notebook 使用體驗的五個隱藏功能

此外,還有其它的計時方法,例如:%%timeit cell magic,雖然使用起來比較簡單,但卻覆蓋了Notebook中原來所有的單元。所以我還是推薦大家使用ExecuteTime擴展。

5. Hide Code input:

儘管我們中的一些人喜歡進行分析的工作,但另外一部分人卻喜歡直接看到分析後的結果。 Hide Code input擴展允許我們在保持輸出的同時,立即將所有代碼隱藏在Notebook中,滿足了不同的需求。

提升 Jupyter Notebook 使用體驗的五個隱藏功能

上述就是我為大家總結的五個最常用的Jupyter Notebook擴展,您可以通過安裝擴展並打開Notebook查看整個拓展列表,發現更多有用的拓展,我們甚至還可以編寫自己的擴展名。


分享到:


相關文章: