Jupyter Notebook 十個提升體驗的高級技巧
Jupyter 筆記本是數據科學家和分析師用于交互式計算、數據可視化和協作的工具。Jupyter 筆記本的基本功能大家都已經很熟悉了,但還有一些鮮為人知的技巧可以大大提高生產力和效率。在這篇文章中,我將介紹10個可以提升體驗的高級技巧。
改變注釋的顏色
顏色使事物脫穎而出。我們可以使用不同的顏色來突出需要突出的重要內容。所以我們可以使用html來對我們的文本進行高亮顯示,有4種類型可以直接使用:
Info
<div class="alert alert-block alert-info">
<b>Tip:</b> Use blue boxes (alert-info) for tips and notes.
</div>
Warning
<div class="alert alert-block alert-warning">
Warning: Use Yellow for a warning that might need attention.
</div>
Success
<div class="alert alert-block alert-success">
Green box can be used to show some positive such as the successful execution of a test or code.
</div>
Danger
<div class="alert alert-block alert-danger">
Red boxes can be used to alert users to not delete some important part of code etc.
</div>
代碼折疊(隱藏代碼單元)
代碼太多的話會影響我們查看Notebook 的內容中,如果只想顯示結果/圖表,可以將以下 HTML 代碼粘貼到筆記本的頂部單元格中,然后運行該單元格。
%%html
<style id=hide>div.input{display:none;}</style>
<button type="button"
notallow="var myStyle = document.getElementById('hide').sheet;myStyle.insertRule('div.input{display:inherit !important;}', 0);">
Show inputs</button>
結果如下:
魔法命令
Jupyter notebooks 包含很多的“魔法命令”,可以使用“%timeit”魔術命令:
交互式部件
Notebook 支持交互式部件,可以為數據分析構建自定義用戶界面。例如可以創建一個滑塊小部件來調整代碼中的參數:
from ipywidgets import interact
@interact(x=(0, 10))
def square(x):
print(x**2)
結果如下:
嵌入代碼
可以使用反引號 (`) 在 Jupyter Notebook 的 Markdown 單元格中嵌入代碼。
`x = 10`
```Python
str = "This is block level code"
print(str)
```
轉換成PPT
Jupyter 筆記本可以使用“rise”擴展轉換為交互式PPT。首先要安裝擴展,請運行以下命令:
!pip install RISE
!jupyter-nbextension install rise --py --sys-prefix
!jupyter-nbextension enable rise --py --sys-prefix
安裝后,轉到“View ”并選擇“Slideshow ”(如果沒有看到此選項,請刷新)。這樣就可以為每個單元格選擇幻燈片類型。
幻燈片類型可以是以下類型之一:
Slide — 幻燈片的基本類型。
Sub-slide——“Slide ”的片段。
Fragment —幻燈片上的信息。
Skip — 在演示過程中跳過此單元格。
Notes ——演講者視圖中出現的,類似提詞器。
結果如下:
自定義 Matplotlib 圖
Jupyter Notebook 默認使用 Matplotlib 進行數據可視化,所以我們可以設置一些默認的參數,例如可以使用“rcParams”字典更改繪圖標簽的字體大小,這會將設置應用于所有 matplotlib 繪圖:
import matplotlib.pyplot as plt
## setting global settings
plt.rcParams.update({'font.size': 10,'lines.linewidth': 3})
自定義主題
Jupyter Notebooks 帶有默認主題,我們可以通過安裝和應用自定義主題自定義外觀。要安裝主題,可以使用 jupyterthemes 包:
!pip install jupyterthemes
列出所有可用的主題:
!jt -l
然后,可以使用命令來安裝主題,例如:
!jt -t grade3
安裝完后,需要重啟 Jupyter notebook。
如果想重置默認主題,可以使用以下命令(記得重啟):
!jt -r
LaTeX 支持
如果需要包含數學方程式,您可以在 IPython 的顯示模塊中使用 LaTeX 語法。
例如,以下代碼將顯示 2 個分數相加的數學表示及其輸出。
from IPython.display import display, Math
display(Math('\\frac{2}{3} + \\frac{4}{5} = \\frac{22}{15}'))
單元格中顯示多個輸出
Jupyter Notebook 中工作時,默認僅顯示單元格中的最后一個輸出。但是可以使用 IPython.core.interactiveshell 中的 InteractiveShell 模塊在單個單元格中顯示多個輸出。
要顯示單元格的所有輸出,可以在單元格的開頭使用以下代碼:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
但是記住,這樣如果變量多的話會很亂
總結
本文總結了一些充分利用 Jupyter Notebooks 的技巧。這些技巧可以幫助您簡化工作流程并提高工作效率。無論是數據分析師、數據科學家還是機器學習工程師,Jupyter Notebooks 都可以成為工作的強大工具。通過掌握這些提技巧,可以將數據分析提升到一個新的水平,并使你的工作更加高效。