全文共1786字,預計學習時長4分鐘
Jupyter Notebooks可以最有效地顯示結果和共享代碼,這在以前的IDEs中並不容易實現。然而,仍有些地方有待改進。
在文本編輯器中,希望有一些功能在Jupyter中不是默認的。但別擔心。就像Python一樣,Jupyter也有第三方擴展功能。
本文主要介紹一些最有用的擴展功能。
1. 可摺疊標題
可摺疊標題這項擴展功能使筆記本的流程更容易理解,也有助於創建簡潔的筆記本。
若要獲得此功能,請在終端窗口安裝帶有此命令的jupyter_contrib_nbex軟體包:
conda install -c conda-forge jupyter_contrib_nbextensions
一旦安裝了該軟體包,可使用以下方法啟動Jupyter Notebooks:
Jupyter Notebooks
進入Jupyter Notebooks主頁後,可以看到為NBExtensions創建了一個新選項卡。
然後,利用這個軟體包可以獲得許多拓展功能。
呈現頁面如下:
2. 自動導入
自動化是未來的趨勢。
令人煩惱的是,每當在數據科學項目中打開一個新的Jupyter Notebooks時,都需要為其中一些項目複製粘貼許多庫和默認選項。
常用導入工具:
· Pandas and numpy—在我看來,Python必須將二者作為默認導入工具
· Seaborn, matplotlib, plotly_express
· 更改pandas 和seaborn 的部分默認選項
以下是粘貼了無數次的腳本。
import pandas as pd
import numpy as np
import plotly_express as px
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
# We dont Probably need the Gridlines. Do we? If yescomment this line
sns.set(style="ticks")
# pandas defaults
pd.options.display.max_columns = 500
pd.options.display.max_rows = 500
有沒有辦法使其自動導入呢?
只需點擊 nbextensions 選項卡並選擇 snippets 拓展功能。
對snippets.json 文件作以下更改,即可在/miniconda3/envs/py36/share/jupyter/nbextensions/snippets發現該文件。這裡的py36是conda virtualenv。請注意,不必在site-packages進行更改。
以下是該拓展功能的實際應用:
很棒,對吧?我們還可以用它為深度學習筆記本和基於NLP的筆記本創建基本代碼片段。
3. 執行時間
我們一般使用%time以及基於裝飾器的計時器函數來度量函數的時間。但現在也可以使用這個絕佳的擴展功能來實現這一點。
而且它看起來很棒。
只要從 NBextensions 列表中選擇 ExecutionTime 拓展功能,每次執行單元格之後,你將在單元格底部得到一個執行結果,以及執行單元格的時間。
4. 其他拓展功能
NBExtensions有很多擴展功能。以下是部分其他功能:
· 限制輸出:自從你在筆記本上列印了很多文本後,筆記本就一直處於死機狀態。這個擴展功能可以限制列印在代碼單元格下面的字符數量。
· 2-3轉換器:舊python2 notebook有問題,或是厭倦了更改列印語句。這個拓展功能是不錯的選擇。
· 實時標記預覽:有些人喜歡在Jupyter Notebooks上使用標記寫博客。由於撰寫中出錯,有時會提示系統繁忙。現在可以在編輯標記單元格的原始碼時看到它們呈現的輸出實時預覽。
結論
jupyter_grub_nbextension軟體包運行良好。
在檢查執行時間、滾動筆記本和重複的任務時,它讓我們的生活變得簡單多了。
這個軟體包還提供許多其他擴展功能。務必要看一看,看看哪些對你有用。
另外,若想了解更多關於python3.0版本的知識,推薦密西根大學關於學習中級Python的精品課程。
留言 點讚 關注
我們一起分享AI學習與發展的乾貨