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 的工具欄里可以看到擴展插件:
較長版教程如果你覺得上面的教程太簡單,可以看看下面的復雜版。我還列出了我最喜歡的五個擴展插件。
什么是 notebook 擴展插件?
Jupyter Notebook 擴展插件是擴展 notebook 環境基本功能的簡單插件。它們用 JavaScript 語言編寫,會自動套用代碼格式或者在單元格完成后發送瀏覽器通知。擴展插件目前僅支持 Jupyter Notebook(不支持 Jupyter Lab)。
為什么要使用擴展插件?Jupyter Notebook 是一個很好用的工具,可用于教學、學習、原型設計、探索和嘗試新方法(甚至可用于 Netflix 的生產過程中)。但是,原版 notebook 功能有限,有時令人挫敗。雖然 Jupyter Notebook 擴展插件沒有完全解決這個問題,但它們確實能讓你的工作變得更輕松。
該用哪些擴展插件?
以下是我最常用的五種 Jupyter Notebook 擴展插件:
1 Table of Contents:更容易導航
如果你在一個 Jupyter Notebook 中同時開啟了十幾個單元格,那你想跟蹤所有單元格就會有些困難。Table of Contents 通過添加 TOC 鏈接解決了這個問題,通過 TOC 鏈接你可以定位到頁面中的任何位置。
Table of Contents 界面
你還可以使用該擴展插件在 notebook 的頂部添加一個鏈接目錄。這樣會顯示你選擇了哪一個目錄以及哪一個正在運行:
Notebook 中的 Table of Contents 界面
2 Autopep8:輕輕一擊就能獲得簡潔代碼
我們都應該編寫符合 pep8 標準的代碼,但有時你會陷入分析,難以堅持這種標準。所以當你寫完代碼后,只要單擊這個選項,就可以讓代碼變得簡潔漂亮。
使用 Autopep8 的效果
這個插件可以稱得上是最好的插件了,僅需點擊一下,就能完成一項耗時又乏味的工作,讓你專注于思考。
3 variable inspector:跟蹤你的工作空間
variable inspector 會顯示你在 notebook 中創建的所有變量的名稱,以及它們的類型、大小、形狀和值。
variable inspector
這個工具對于從 RStudio 遷移過來的數據科學家來說是無價之寶。如果你不想繼續打印 df.shape 或無法重新調用 x 的 type,這個工具對你來說也同樣重要。
4 ExecuteTime:顯示單元格的運行時間和耗時
我經常不知道某個單元格需要運行多久或者最后一次運行一個打開好幾天的 notebook 是什么時候。ExecuteTime 完美解決這個問題,它會顯示單元格的運行完成時間和所耗時長。
ExecuteTime 的輸出
的確有更好的計時方法,如 %%timeit,但 ExecuteTime 易于實現,且可以覆蓋 notebook 中的所有單元格。
5 隱藏代碼輸入:隱藏過程,展示結果
雖然有些人喜歡看到某項艱苦工作的具體分析,但有些人卻只想看到結果。隱藏所有輸入的插件讓你能夠立即隱藏 notebook 中的所有代碼,只保留結果。
隱藏所有代碼
下一次如果有人說他們只想看結果,你只要單擊一下就可以了。(不過你還是得經常檢查代碼。)
以上是我最常用的五種擴展插件,你還可以嘗試其他擴展插件。先安裝擴展插件,然后打開 notebook 探索吧!
結論安裝 Jupyter Notebook 擴展插件,花點時間弄清楚哪些有用,然后提高自己的工作效率。雖然這些功能不至于改變你的人生,但它們帶來的益處也是值得的。而且累積起來為你節約了很多寶貴的開發時間。
如果你正在寫生產代碼,你可能會更愿意花些時間學習 IDE(我喜歡 VS Code),但 Jupyter Notebook 仍然是數據科學工作流程中不可或缺的一部分。如果你要使用這個環境,就最好把它用到極致,以從中獲得最大的收益。