Jupyter notebook是一款學習和科研的神奇,相信很多小伙伴已經利用它在學術科研、研究開發的道路上收獲了便捷易用、可視直觀的優點。但除了可以在瀏覽器編輯運行代碼、一系列暢爽的魔法命令外,jupyter還有眾多基于js開發的拓展插件能幫助我們事先更加自如和高效的使用,讓我們在科研的道路上如虎添翼、健步如飛。
1. 自動補全
(Hinterland)
在通常情況下jupyter中實現代碼補全需要主動按tab鍵,但有的時候會很期待jupyter可以實現如IDE一般的自動補全顯示,是需要輸入指令的頭部所有符合的指令變換躍然屏幕任君挑選。有了Hinterland之后,你就可以享受與其他流行的IDE(如PyCharm和VCS)一樣順滑的自動代碼補全了,便捷高效想到就能補到。
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/hinterland/README.html
2. 單元格分置
(Split Cells Notebook)
從vim到sublime,各類編輯器都支持多窗口編輯、查看代碼。如果notebook可以實現這樣的功能就可以在寬屏顯示器上自由的施展拳腳了。notebook中split功能為我們貼心地準備了這個功能,只需輕輕一點就可以將原先垂直順序排列的單元格變成水平排列,更好的查看與分析代碼和計算結果。通過該擴展插件可以將Notebook的單元格分開,再將它們相鄰放置。
3. 插入常用代碼片
(Snippets)
在代碼中存在很多可以復用的代碼片,比如說每次程序開頭都需要import的一大堆包和一些常用的數據操作、繪圖指令。為了便捷的復用這些指令,Snippets為我們提供了一鍵插入代碼片段的功能,從此再也不用辛苦的輸入那些常用的指令,甚至copy-paste都免了,輕輕一點代碼出現!此擴展插件為Notebook工具欄添加了一個下拉菜單,允許將代碼片段單元格輕松插入當前Notebook中。
4. 折疊單元格
(Collapsible Headings)
代碼寫的太長、注釋寫的太多、整個note太亂了,又長又沒有清晰的結構該如何是好呀?Collapsible Headings允許Notebook根據標題來分隔的可折疊部分。如果Notebook中有很多不整潔的代碼,我們就可以折疊起來免除了反復滾動的煩惱,同時也為整個notebook帶來了整潔的視覺體驗。
5.幻燈片放映
(Slideshow)
Notebooks是教學和編寫可解釋代碼的有效工具。無論是給同學講解代碼還是給老板匯報進展,一份動態、順滑、有代碼有圖片的報告總會帶來很好的效果。 Jupyter Notebooks可輕松轉換為幻燈片,將你的工作轉換為圖文并茂的生動報告,也許我們就不再需要PPT啦~
我們可以通過以下兩個方式來實現:
· Jupyter的內置幻燈片
在你的notebook中,可以通過工具欄導航到View → Cell Toolbar → Slideshow。
這時每個單元格頂部都會出現一個淺灰色條,您可以根據不同的五種特性自定義幻燈片,其中幻燈片是主要的呈現形式,還包括可以上下滑動的自幻燈片和浮動的碎片。
在設置完成后轉到notebook所在的目錄,執行以下代碼:
幻燈片將顯示在本地8000端口。此外目錄中將生成.html文件,您也可以從那里雙擊訪問幻燈片。
· RISE(Reveal.js? plugin)
jupyter的問題在于無法再運行幻燈片的時候運行代碼,而RISE提供了邊演示便運行的解決方案。RISE是Reveal.js?—?Jupyter/IPython Slideshow Extension的首字母縮寫。 它利用reveal.js來運行幻燈片。這非常有用,因為它能在不必退出幻燈片的情況下運行代碼。 使用如下命令進行安裝:
在適當的目錄安裝JS和 CSS:
現在我們就會發現一個新的擴展,上面寫著“Enter/Exit RISE Slideshow.”。
邊演示便運行真的很爽,是時候向老板展示你真正的實力了。
6.魔法工具包
(Jupyter Widgets)
Widgets是在jupyter里具有代表性的多事件python對象,通常作為滑塊、文本框等控件使用。Widgets可用于構建交互式圖形用戶界面。 通過以下命令來安裝它們:
其中包含了一系列優秀的可視化交互控件,從參數調整到文件遍歷,從顏色拾取到繪圖風格變換,豐富且有用的小工具你一定會喜歡的。
https://github.com/jupyter-widgets/ipywidgets/blob/1223d4128aebe6c8831a034a73d1546a91f5138a/docs/source/examples/Widget%20Basics.ipynb
交互控件
這是IPython中widgets最簡單的使用方法。
交互功能(ipywidgets.interact)會自動為代碼和數據創建用戶界面(UI)控件。在數據探索過程中,通常要一次又一次地重新運行相同的單元,而每次都只會稍微改變下輸入參數,這種致操作方式效率十分低下。理想解決方案是使用交互式控件,無需重寫或重新運行代碼即可更改輸入。 使用IPython widgets(ipywidgets),您可以使用一行代碼構建交互式控件。該庫允許我們將Jupyter Notebooks從靜態文檔轉換為交互式儀表板,非常適合數據的探索和可視化數據。
我們可以使用@interact修飾器快速將任何普通函數轉換為交互式控件,例如改變x的取值:
快速循環遍歷所有圖像,而無需重新運行單元程序。 如果調試卷積神經網絡并想要檢查網絡錯分類的圖像,這招就很管用。
Widgets在數據探索方面的用途是多種多樣的。 還可以用來便捷地分析兩列數據間的相關性,對于數據科學家和統計學家十分有用。
播放控件
Play widget能以一定速度按照整數序列來循環播放動畫,并可以通過滑塊的值來控制播放相關參數。
日期選擇器控件
日期選擇器控件Date picker可在Chrome和IE Edge中使用,但目前暫時無法在Firefox或Safari中使用,因為它們不支持HTML日期輸入字段。
顏色選擇控件
Color picker 可以調出調色板,供你選擇最中意的顏色:
表格控件
表格控件Tab可以構建類似excel的表格,便于展示和可視化數據:
Widgets for Plots繪圖控件
交互式控件對于選擇數據繪制特別有用,我們同樣可以使用@interact修飾器將數據可視化函數轉為控件:
這里,cufflinks+plotly的組合用來實現交互式繪圖。如果繪圖的更新速度有點慢,我們可以使用@interact_manual,手動點擊按鈕來進行更新。
Qgrid
Qgrid主要關注DataFrame對象。 它使用SlickGrid在Jupyter notebook中渲染pandas DataFrame。 這使您可以使用直觀的滾動、排序和篩選控件來瀏覽DataFrame,還可以通過雙擊單元格來編輯DataFrame,可以便捷高效的查看dataframe中的數據:
7.視頻/PDF/url插件
使用IPython的顯示模塊,您可以輕松地將URLs、pdf和視頻嵌入到您的Jupyter Notebooks中。
顯示pdf,組會講論文神器呀:
再來個視頻佐證自己的觀點吧:
8. Jupyter主題
原生的白色主題太扎眼了,好想用暗色系的主題保護眼睛,安心擼代碼?就像你用的IDE概要或主題設置? 安裝jupyterthemes就可解你的燃眉之急。
Jupyter也有同樣的功能,這些主題還可以增強了代碼的顯示, 可以定制自己喜歡的字體字號和背景顏色。雖然主題數量不多,但用起來相當不錯,以后也會越來越多。
寫在最后
如果你對這些拓展功能躍躍欲試啦,那就趕快給你的jupyter添加想要的插件吧!插件安裝連接請參考:
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html
還可以發掘源碼進行學習,他日寫出自己中意的插件:
https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions
jupyterlab插件:
https://jupyterlab.readthedocs.io/en/stable/user/extensions.html
-
代碼
+關注
關注
30文章
4830瀏覽量
69087 -
控件
+關注
關注
0文章
156瀏覽量
16991 -
編輯器
+關注
關注
1文章
806瀏覽量
31296
原文標題:那些讓你如虎添翼的Jupyter Notebooks進階插件神器
文章出處:【微信號:thejiangmen,微信公眾號:將門創投】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
為什么Jupyter Notebook會比其他工具更受歡迎?
【PYNQ-Z2試用體驗】Jupyter Notebook體驗
你絕沒用過的一款高逼格空間可視化工具
五大最實用的Jupyter Notebook擴展插件
數據科學家們常用的一種工具——Jupyter notebook,納入天文學研究
一款地理空間可視化庫 kepler.gl要遜色不少
Jupyter Notebook是TensorFlow文檔架構的重要組成部分
以后Jupyter也能做可視化Debug了
神器jupyter的優勢和使用教程
![神器<b class='flag-5'>jupyter</b>的優勢和使用教程](https://file.elecfans.com/web1/M00/DE/F0/pIYBAGAcobuATCe7AAIlN4VbXiw454.gif)
常用的五種Jupyter Notebook擴展插件
Jupyter notebook在超算平臺上使用的詳細教程
![<b class='flag-5'>Jupyter</b> <b class='flag-5'>notebook</b>在超算平臺上使用的詳細教程](https://file.elecfans.com/web2/M00/7D/2A/poYBAGN9v4OAeQFgAAEdcsj3VsQ804.png)
Jupyter Notebook 7重磅發布,新增多個特性!
![<b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b> 7重磅發布,新增多個特性!](https://file1.elecfans.com/web2/M00/8E/A1/wKgaomTIrhWAeUqKAAAHt7Tcr3Q090.png)
華為云 Flexus X 實例部署安裝 Jupyter Notebook,學習 AI,機器學習算法
![華為云 Flexus X 實例部署安裝 <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b>,<b class='flag-5'>學習</b> AI,機器<b class='flag-5'>學習</b>算法](https://file1.elecfans.com//web3/M00/04/8B/wKgZPGd2J4SABwWpAAGTB6rKYaM050.png)
評論