五個(gè)令人驚嘆的Jupyter黑科技
Jupyter是一種功能強(qiáng)大的交互式計(jì)算環(huán)境,被廣泛應(yīng)用于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、科學(xué)計(jì)算等領(lǐng)域。除了常見(jiàn)的基本功能外,Jupyter還隱藏著許多令人驚嘆的黑科技,這些功能可以幫助用戶(hù)更高效地完成工作,提升工作體驗(yàn)。在本文中,筆者總結(jié)了五個(gè)Jupyter黑科技,與大家分享。
GUI自動(dòng)生成代碼Visual Python
VisualPython是一個(gè)開(kāi)源項(xiàng)目,它是一款基于圖形界面(GUI)的「Python代碼生成器」,在 Jupyter Notebook 上作為擴(kuò)展插件使用。
VisualPython的初衷是為那些在數(shù)據(jù)科學(xué)課程中為編碼而苦苦掙扎的學(xué)生而開(kāi)發(fā)。對(duì)于程序員而言,使用該工具可以保存和重用用戶(hù)代碼;非程序員使用該工具,可以更輕松地學(xué)習(xí) Python 語(yǔ)言,以最少的編碼技能探索和利用數(shù)據(jù)科學(xué)解決實(shí)際問(wèn)題。
主要特征包括:
- 基于圖形界面自動(dòng)生成 Python 代碼。
- 可以按任務(wù)創(chuàng)建代碼塊,如數(shù)據(jù)處理任務(wù)、可視化任務(wù)等。
- 可以將分析過(guò)程導(dǎo)出為 .vp 文件與他人共享。
Jupyter Notebook環(huán)境安裝并激活visualpython,即可看到開(kāi)發(fā)界面工具欄的最右邊多了一個(gè)黃色的小方塊按鈕,這個(gè)小方塊就是Visual Python提供的功能。點(diǎn)擊黃色的小方塊即可直接進(jìn)入到無(wú)代碼的拖拽式開(kāi)發(fā)頁(yè)面了,代碼開(kāi)發(fā)頁(yè)面和組件拖拽會(huì)同時(shí)出現(xiàn)在編輯頁(yè)面中。如下圖所示。
編Pandas代碼時(shí)生成有用的提示
使用未優(yōu)化的pandas通常會(huì)減慢數(shù)據(jù)分析速度,此時(shí)可以使用Dovpanda工具,提供有關(guān)數(shù)據(jù)操作步驟的建議或警告。
Jupyter單元格執(zhí)行完成后獲取通知
在Jupyter單元格中運(yùn)行一些代碼后,經(jīng)常會(huì)導(dǎo)航到其他工作區(qū)。此時(shí),必須不斷返回Jupyter標(biāo)簽,以檢查單元格是否已執(zhí)行。
為了避免這種情況的發(fā)生,則可以使用jupyternotify中的%%notify魔法命令在瀏覽器通知用戶(hù)Jupyter單元格的執(zhí)行情況。這對(duì)于長(zhǎng)時(shí)間運(yùn)行的代碼或者需要監(jiān)控執(zhí)行情況的代碼來(lái)說(shuō)非常方便。
每當(dāng)單元格完成其執(zhí)行時(shí),將收到以下通知,單擊通知又可以回到Jupyter標(biāo)簽。
深入挖掘數(shù)據(jù)信息
通常,在Jupyter中加載DataFrame時(shí),會(huì)打印預(yù)覽數(shù)據(jù),如下所示:
然而,它幾乎沒(méi)有告訴我們數(shù)據(jù)內(nèi)部的任何信息。此時(shí),可以使用Jupyter-DataTables深入挖掘數(shù)據(jù)信息。如下圖所示,通過(guò)預(yù)覽可以看到排序、過(guò)濾、導(dǎo)出和分頁(yè)操作等數(shù)據(jù)信息。
一鍵標(biāo)記數(shù)據(jù)
處理未標(biāo)記的數(shù)據(jù)是,可以使用ipyannotate,在幾行代碼中進(jìn)行注釋?zhuān)缓笸ㄟ^(guò)點(diǎn)擊按鈕進(jìn)行數(shù)據(jù)標(biāo)注。如下所示。