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