高效方法 | Jupyter Notebook 比你想象中的還要強(qiáng)大
Jupyter Notebook是一個(gè)非常贊的可用于教學(xué),探索和編程的環(huán)境,但最原始的Jupyter Notebook是缺乏一些強(qiáng)功能的。但幸運(yùn)的是,有很多方法可以改進(jìn)這個(gè)工具,比如:Jupyter Notebook的擴(kuò)展。
▍快速安裝
在命令提示符中運(yùn)行以下命令:
pip?install?jupyter_contrib_nbextensions?&&
jupyter?contrib?nbextension?install?
啟動(dòng)Jupyter Notebook并導(dǎo)航到新的Nbextensions選項(xiàng)卡:
?
如果沒有看到tab選項(xiàng)卡,請(qǐng)打開notebook,然后單擊edit> nbextensions配置
可用的擴(kuò)展選項(xiàng)可以在notebook中的工具欄中看到:

▍該使用哪些擴(kuò)展功能?
上面只是一個(gè)簡(jiǎn)單的安裝介紹,下面是有關(guān)Jupyter notebook擴(kuò)展的一些細(xì)節(jié)。本篇個(gè)人常常使用的前5個(gè)擴(kuò)展,以幫助你入門。?
什么是Jupyter Notebook擴(kuò)展??
Jupyter Notebook擴(kuò)展是簡(jiǎn)單的附加組件,可擴(kuò)展notebook環(huán)境的基本功能。用JavaScript編寫,它們可以執(zhí)行自動(dòng)編碼代碼或在單元格完成時(shí)發(fā)送瀏覽器通知等操作。擴(kuò)展目前僅適用于Jupyter Notebook(不是Jupyter Lab)。?
為何使用這些擴(kuò)展?Jupyter Notebook是教學(xué),學(xué)習(xí),原型設(shè)計(jì),探索和嘗試新方法(甚至是Netflix生產(chǎn))的絕佳工具。然而,vanilla notebooks的功能有限,這些功能可能會(huì)讓人感到沮喪。雖然Jupyter Notebook擴(kuò)展并沒有完全解決問題,但它們確實(shí)增加了一些好處,使工作更加方便。?
以下是我經(jīng)常使用的5個(gè)Jupyter Notebook擴(kuò)展:?
1.目錄:更簡(jiǎn)單地導(dǎo)航?
一旦你開始在一個(gè)Jupyter Notebook中獲得幾十個(gè)單元格,就很難跟蹤它們。目錄通過添加可以位于頁(yè)面上任何位置的鏈接TOC來解決該問題:

你還可以使用擴(kuò)展程序在notebook頂部添加鏈接的目錄。這甚至還可以顯示選擇了哪個(gè)單元格以及哪個(gè)單元格正在運(yùn)行。

2. Autopep8:只需單擊一下即可獲得整潔的代碼
我們都應(yīng)該編寫符合pep8標(biāo)準(zhǔn)的代碼,但有時(shí)你會(huì)陷入分析中,并且很難堅(jiān)持最佳的實(shí)踐。這個(gè)擴(kuò)展允許你只需點(diǎn)擊木槌并自動(dòng)格式化你的凌亂代碼。

與最好的附加組件一樣,只需單擊一下即可完成一項(xiàng)耗時(shí)且繁瑣的任務(wù),使你能夠?qū)W⒂谒伎紗栴}。?
3.變量檢查器:跟蹤你的工作區(qū)?
變量檢查器顯示你在notebook中創(chuàng)建的所有變量的名稱,以及它們的類型,大小,維度和值。

對(duì)于從RStudio遷移的數(shù)據(jù)科學(xué)家來說,或者如果您不想繼續(xù)打印df.shape或者無(wú)法調(diào)用x的類型,此工具非常有用。?
4. ExecuteTime:顯示單元格運(yùn)行的時(shí)間和長(zhǎng)度?
我經(jīng)常發(fā)現(xiàn)自己試圖弄清楚一個(gè)細(xì)胞運(yùn)行了多長(zhǎng)時(shí)間,或者我上次運(yùn)行已經(jīng)開放數(shù)天的筆記本電腦。ExecuteTime通過顯示單元格何時(shí)完成以及花費(fèi)多長(zhǎng)時(shí)間來處理這兩者。

其實(shí)有更好的計(jì)時(shí)方法,例如%% timeit cell magic。但這種方法可以很容易實(shí)現(xiàn)并覆蓋notebook中的所有單元格。?
5.隱藏代碼輸入:隱藏工作顯示結(jié)果?
雖然我們中的一些人喜歡看到分析中的復(fù)雜代碼過程,但有些人只是喜歡看到結(jié)果。隱藏輸入所有擴(kuò)展名可以允許你在保持輸出的同時(shí)立即隱藏notebook中的所有代碼。

下次有人說他們只想看結(jié)果時(shí),您只需單擊一下就可以解決(雖然你應(yīng)該總是檢查代碼)。?
這些只是我發(fā)現(xiàn)自己最常使用的擴(kuò)展,而你不僅限于五個(gè)。通過安裝擴(kuò)展并打開notebook來查看整個(gè)列表。如果你愿意,你甚至可以編寫自己的擴(kuò)展。參考文檔如下:
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/internals.html
▍結(jié)論
安裝Jupyter Notebook擴(kuò)展,花些時(shí)間確定哪些對(duì)你有用,并提高您的工作效率。雖然這些都沒有改變生活,但它們都增加了足夠的好處,值得累積,可以累積節(jié)省寶貴的開發(fā)時(shí)間。?
雖然如果你正在編寫生產(chǎn)代碼,你可能想花些時(shí)間學(xué)習(xí)IDE,但Jupyter Notebook仍然是數(shù)據(jù)科學(xué)工作流程中不可或缺的一部分。如果你打算使用此環(huán)境,你可以從工具中獲得最大收益。
PS:公號(hào)內(nèi)回復(fù)「Python」即可進(jìn)入Python 新手學(xué)習(xí)交流群,一起 100 天計(jì)劃!
老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點(diǎn)一下,如果感覺文章內(nèi)容不錯(cuò)的話,記得分享朋友圈讓更多的人知道!


【大禮包獲取方式】
