0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Jupyter notebook是一款學(xué)習(xí)和科研的神奇

nlfO_thejiangme ? 來源:lq ? 2019-02-19 09:32 ? 次閱讀

Jupyter notebook是一款學(xué)習(xí)和科研的神奇,相信很多小伙伴已經(jīng)利用它在學(xué)術(shù)科研、研究開發(fā)的道路上收獲了便捷易用、可視直觀的優(yōu)點。但除了可以在瀏覽器編輯運行代碼、一系列暢爽的魔法命令外,jupyter還有眾多基于js開發(fā)的拓展插件能幫助我們事先更加自如和高效的使用,讓我們在科研的道路上如虎添翼、健步如飛。

1. 自動補全

(Hinterland)

在通常情況下jupyter中實現(xiàn)代碼補全需要主動按tab鍵,但有的時候會很期待jupyter可以實現(xiàn)如IDE一般的自動補全顯示,是需要輸入指令的頭部所有符合的指令變換躍然屏幕任君挑選。有了Hinterland之后,你就可以享受與其他流行的IDE(如PyCharm和VCS)一樣順滑的自動代碼補全了,便捷高效想到就能補到。

https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/hinterland/README.html

2. 單元格分置

(Split Cells Notebook)

從vim到sublime,各類編輯器都支持多窗口編輯、查看代碼。如果notebook可以實現(xiàn)這樣的功能就可以在寬屏顯示器上自由的施展拳腳了。notebook中split功能為我們貼心地準(zhǔn)備了這個功能,只需輕輕一點就可以將原先垂直順序排列的單元格變成水平排列,更好的查看與分析代碼和計算結(jié)果。通過該擴(kuò)展插件可以將Notebook的單元格分開,再將它們相鄰放置。

3. 插入常用代碼片

(Snippets)

在代碼中存在很多可以復(fù)用的代碼片,比如說每次程序開頭都需要import的一大堆包和一些常用的數(shù)據(jù)操作、繪圖指令。為了便捷的復(fù)用這些指令,Snippets為我們提供了一鍵插入代碼片段的功能,從此再也不用辛苦的輸入那些常用的指令,甚至copy-paste都免了,輕輕一點代碼出現(xiàn)!此擴(kuò)展插件為Notebook工具欄添加了一個下拉菜單,允許將代碼片段單元格輕松插入當(dāng)前Notebook中。

4. 折疊單元格

(Collapsible Headings)

代碼寫的太長、注釋寫的太多、整個note太亂了,又長又沒有清晰的結(jié)構(gòu)該如何是好呀?Collapsible Headings允許Notebook根據(jù)標(biāo)題來分隔的可折疊部分。如果Notebook中有很多不整潔的代碼,我們就可以折疊起來免除了反復(fù)滾動的煩惱,同時也為整個notebook帶來了整潔的視覺體驗。

5.幻燈片放映

(Slideshow)

Notebooks是教學(xué)和編寫可解釋代碼的有效工具。無論是給同學(xué)講解代碼還是給老板匯報進(jìn)展,一份動態(tài)、順滑、有代碼有圖片的報告總會帶來很好的效果。 Jupyter Notebooks可輕松轉(zhuǎn)換為幻燈片,將你的工作轉(zhuǎn)換為圖文并茂的生動報告,也許我們就不再需要PPT啦~

我們可以通過以下兩個方式來實現(xiàn):

· Jupyter的內(nèi)置幻燈片

在你的notebook中,可以通過工具欄導(dǎo)航到View → Cell Toolbar → Slideshow。

這時每個單元格頂部都會出現(xiàn)一個淺灰色條,您可以根據(jù)不同的五種特性自定義幻燈片,其中幻燈片是主要的呈現(xiàn)形式,還包括可以上下滑動的自幻燈片和浮動的碎片。

在設(shè)置完成后轉(zhuǎn)到notebook所在的目錄,執(zhí)行以下代碼:

幻燈片將顯示在本地8000端口。此外目錄中將生成.html文件,您也可以從那里雙擊訪問幻燈片。

· RISE(Reveal.js? plugin)

jupyter的問題在于無法再運行幻燈片的時候運行代碼,而RISE提供了邊演示便運行的解決方案。RISE是Reveal.js?—?Jupyter/IPython Slideshow Extension的首字母縮寫。 它利用reveal.js來運行幻燈片。這非常有用,因為它能在不必退出幻燈片的情況下運行代碼。 使用如下命令進(jìn)行安裝:

在適當(dāng)?shù)哪夸洶惭bJS和 CSS:

現(xiàn)在我們就會發(fā)現(xiàn)一個新的擴(kuò)展,上面寫著“Enter/Exit RISE Slideshow.”。

邊演示便運行真的很爽,是時候向老板展示你真正的實力了。

6.魔法工具包

(Jupyter Widgets)

Widgets是在jupyter里具有代表性的多事件python對象,通常作為滑塊、文本框等控件使用。Widgets可用于構(gòu)建交互式圖形用戶界面。 通過以下命令來安裝它們:

其中包含了一系列優(yōu)秀的可視化交互控件,從參數(shù)調(diào)整到文件遍歷,從顏色拾取到繪圖風(fēng)格變換,豐富且有用的小工具你一定會喜歡的。

https://github.com/jupyter-widgets/ipywidgets/blob/1223d4128aebe6c8831a034a73d1546a91f5138a/docs/source/examples/Widget%20Basics.ipynb

交互控件

這是IPython中widgets最簡單的使用方法。

交互功能(ipywidgets.interact)會自動為代碼和數(shù)據(jù)創(chuàng)建用戶界面(UI)控件。在數(shù)據(jù)探索過程中,通常要一次又一次地重新運行相同的單元,而每次都只會稍微改變下輸入?yún)?shù),這種致操作方式效率十分低下。理想解決方案是使用交互式控件,無需重寫或重新運行代碼即可更改輸入。 使用IPython widgets(ipywidgets),您可以使用一行代碼構(gòu)建交互式控件。該庫允許我們將Jupyter Notebooks從靜態(tài)文檔轉(zhuǎn)換為交互式儀表板,非常適合數(shù)據(jù)的探索和可視化數(shù)據(jù)。

我們可以使用@interact修飾器快速將任何普通函數(shù)轉(zhuǎn)換為交互式控件,例如改變x的取值:

快速循環(huán)遍歷所有圖像,而無需重新運行單元程序。 如果調(diào)試卷積神經(jīng)網(wǎng)絡(luò)并想要檢查網(wǎng)絡(luò)錯分類的圖像,這招就很管用。

Widgets在數(shù)據(jù)探索方面的用途是多種多樣的。 還可以用來便捷地分析兩列數(shù)據(jù)間的相關(guān)性,對于數(shù)據(jù)科學(xué)家和統(tǒng)計學(xué)家十分有用。

播放控件

Play widget能以一定速度按照整數(shù)序列來循環(huán)播放動畫,并可以通過滑塊的值來控制播放相關(guān)參數(shù)。

日期選擇器控件

日期選擇器控件Date picker可在Chrome和IE Edge中使用,但目前暫時無法在Firefox或Safari中使用,因為它們不支持HTML日期輸入字段。

顏色選擇控件

Color picker 可以調(diào)出調(diào)色板,供你選擇最中意的顏色:

表格控件

表格控件Tab可以構(gòu)建類似excel的表格,便于展示和可視化數(shù)據(jù):

Widgets for Plots繪圖控件

交互式控件對于選擇數(shù)據(jù)繪制特別有用,我們同樣可以使用@interact修飾器將數(shù)據(jù)可視化函數(shù)轉(zhuǎn)為控件:

這里,cufflinks+plotly的組合用來實現(xiàn)交互式繪圖。如果繪圖的更新速度有點慢,我們可以使用@interact_manual,手動點擊按鈕來進(jìn)行更新。

Qgrid

Qgrid主要關(guān)注DataFrame對象。 它使用SlickGrid在Jupyter notebook中渲染pandas DataFrame。 這使您可以使用直觀的滾動、排序和篩選控件來瀏覽DataFrame,還可以通過雙擊單元格來編輯DataFrame,可以便捷高效的查看dataframe中的數(shù)據(jù):

7.視頻/PDF/url插件

使用IPython的顯示模塊,您可以輕松地將URLs、pdf和視頻嵌入到您的Jupyter Notebooks中。

顯示pdf,組會講論文神器呀:

再來個視頻佐證自己的觀點吧:

8. Jupyter主題

原生的白色主題太扎眼了,好想用暗色系的主題保護(hù)眼睛,安心擼代碼?就像你用的IDE概要或主題設(shè)置? 安裝jupyterthemes就可解你的燃眉之急。

Jupyter也有同樣的功能,這些主題還可以增強(qiáng)了代碼的顯示, 可以定制自己喜歡的字體字號和背景顏色。雖然主題數(shù)量不多,但用起來相當(dāng)不錯,以后也會越來越多。

寫在最后

如果你對這些拓展功能躍躍欲試?yán)玻蔷挖s快給你的jupyter添加想要的插件吧!插件安裝連接請參考:

https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html

還可以發(fā)掘源碼進(jìn)行學(xué)習(xí),他日寫出自己中意的插件:

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67765
  • 控件
    +關(guān)注

    關(guān)注

    0

    文章

    155

    瀏覽量

    16885
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    797

    瀏覽量

    30928

原文標(biāo)題:那些讓你如虎添翼的Jupyter Notebooks進(jìn)階插件神器

文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    為什么Jupyter Notebook會比其他工具更受歡迎?

    “有什么好用的IDE/環(huán)境/工具?”是他們提出的最常見的問題之。這確實也是個不怎么好回答的問題,因為它沒有具體選項。IDE、Sublime Text、Atom等編輯器都很優(yōu)秀,論智的這篇文章,從Jupyter Notebook
    的頭像 發(fā)表于 05-31 09:27 ?7.4w次閱讀

    IDE的交互式文檔Jupyter Notebook詳解

    IDE之Jupyter:交互式文檔Jupyter Notebook簡介、安裝、使用方法詳細(xì)攻略
    發(fā)表于 12-26 10:38

    【PYNQ-Z2試用體驗】Jupyter Notebook體驗

    圖: 圖2 jupyter notebook一款開源的交互式的網(wǎng)絡(luò)應(yīng)用程序,你可以通過瀏覽器進(jìn)行文檔的編輯和代碼的運行。詳細(xì)介紹參見官網(wǎng). 下面通過已有例程,簡單介紹下notebook
    發(fā)表于 02-17 19:37

    你絕沒用過的一款高逼格空間可視化工具

    的文章中也多次使用了該庫:不過它的效果相比今天要介紹的一款地理空間可視化庫可要遜色不少。這個庫就是:kepler.gl,由大名鼎鼎的獨角獸公司 Uber 團(tuán)隊開發(fā),現(xiàn)已開源。庫直接集成到了 Jupyter
    發(fā)表于 07-30 04:00

    五大最實用的Jupyter Notebook擴(kuò)展插件

    Jupyter Notebook是當(dāng)前種十分流行的基于網(wǎng)頁的開發(fā)環(huán)境,它靈活、高度可擴(kuò)展,不僅允許用戶創(chuàng)建和共享含有代碼的文檔,還可以植入公式、可視化圖片和描述性的文本等,是大數(shù)據(jù)分析師最喜歡的利器。
    的頭像 發(fā)表于 03-20 16:35 ?11.4w次閱讀

    數(shù)據(jù)科學(xué)家們常用的種工具——Jupyter notebook,納入天文學(xué)研究

    允許用戶記錄這些對話,建立起與主題、理論,數(shù)據(jù)和結(jié)果之間更強(qiáng)大的聯(lián)系。當(dāng)然,Jupyter不是承載對話的唯平臺——它的前身IPython Notebook種交互式Python解釋
    的頭像 發(fā)表于 11-05 15:30 ?3736次閱讀

    一款地理空間可視化庫 kepler.gl要遜色不少

    不過它的效果相比今天要介紹的一款地理空間可視化庫 kepler.gl要遜色不少,后者是由大名鼎鼎的獨角獸公司 Uber 團(tuán)隊開發(fā),現(xiàn)已開源。庫直接集成到了 Jupyter Notebook 中,非常方便使用。
    的頭像 發(fā)表于 07-13 07:58 ?1.1w次閱讀

    機(jī)器學(xué)習(xí)開發(fā)者想要打造一款App有多難?

    我第次看到此類工具是在卡內(nèi)基梅隆大學(xué),之后又在伯克利、Google X、Zoox 看到。這些工具最初只是小的 Jupyter notebook:傳感器校準(zhǔn)工具、仿真對比 app、激光雷達(dá)對齊 app、場景重現(xiàn)工具等。
    的頭像 發(fā)表于 05-12 10:06 ?2855次閱讀

    Jupyter Notebook是TensorFlow文檔架構(gòu)的重要組成部分

    軟件文檔是項團(tuán)隊工作,而 Notebook種富有表現(xiàn)力的專注于手把手教程式的格式,它可以讓工程師和作者搭建出交互式演示,更直觀的了解所學(xué)內(nèi)容。Jupyter
    的頭像 發(fā)表于 11-19 09:25 ?1972次閱讀

    以后Jupyter也能做可視化Debug了

    以后 Jupyter 也能做可視化 Debug,Jupyter 團(tuán)隊發(fā)布第個 Debug 插件與內(nèi)核。 ? Python 代碼編輯器怎么選?PyCharm、VS Code、Jupyter
    的頭像 發(fā)表于 01-06 16:09 ?2368次閱讀

    神器jupyter的優(yōu)勢和使用教程

    Python 代碼編輯器怎么選?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 適合做數(shù)據(jù)分析這些需要可視化的操作,PyCharm 更適合
    的頭像 發(fā)表于 02-05 09:36 ?8041次閱讀
    神器<b class='flag-5'>jupyter</b>的優(yōu)勢和使用教程

    常用的五種Jupyter Notebook擴(kuò)展插件

    Jupyter Notebook個很棒的教學(xué)、探索和編程環(huán)境,但其功能不足也是出了名的。幸好,有許多方法可以改進(jìn)這個不錯的工具,如 Jupyter
    的頭像 發(fā)表于 09-26 10:35 ?2311次閱讀

    Jupyter notebook在超算平臺上使用的詳細(xì)教程

    Jupyter Notebook 的本質(zhì)是個 Web 應(yīng)用程序,便于創(chuàng)建和共享文學(xué)化程序文檔,支持實時代碼,數(shù)學(xué)方程,可視化和 markdown。 用途包括:數(shù)據(jù)清理和轉(zhuǎn)換,數(shù)值模擬,統(tǒng)計建模,機(jī)器
    的頭像 發(fā)表于 11-23 15:42 ?1382次閱讀
    <b class='flag-5'>Jupyter</b> <b class='flag-5'>notebook</b>在超算平臺上使用的詳細(xì)教程

    Jupyter Notebook 7重磅發(fā)布,新增多個特性!

    Jupyter Notebook 7新增了來自JupyterLab的交互式調(diào)試器 (interactive debugger),它使您能夠逐個代碼單元格地執(zhí)行代碼,也可以設(shè)置斷點并檢查變量。
    的頭像 發(fā)表于 08-01 15:01 ?1088次閱讀
    <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b> 7重磅發(fā)布,新增多個特性!

    什么是 Jupyter Notebook

    NotebookJupyter Notebook一款開放源代碼的 Web 應(yīng)用程序,可讓我們創(chuàng)建并共享代碼和文檔。 它提供了個環(huán)
    的頭像 發(fā)表于 10-16 11:15 ?3165次閱讀
    什么是 <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b>