Jupyter Notebook 十個(gè)提升體驗(yàn)的高級(jí)技巧
Jupyter 筆記本是數(shù)據(jù)科學(xué)家和分析師用于交互式計(jì)算、數(shù)據(jù)可視化和協(xié)作的工具。Jupyter 筆記本的基本功能大家都已經(jīng)很熟悉了,但還有一些鮮為人知的技巧可以大大提高生產(chǎn)力和效率。在這篇文章中,我將介紹10個(gè)可以提升體驗(yàn)的高級(jí)技巧。
改變注釋的顏色
顏色使事物脫穎而出。我們可以使用不同的顏色來(lái)突出需要突出的重要內(nèi)容。所以我們可以使用html來(lái)對(duì)我們的文本進(jìn)行高亮顯示,有4種類(lèi)型可以直接使用:
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>
代碼折疊(隱藏代碼單元)
代碼太多的話會(huì)影響我們查看Notebook 的內(nèi)容中,如果只想顯示結(jié)果/圖表,可以將以下 HTML 代碼粘貼到筆記本的頂部單元格中,然后運(yùn)行該單元格。
%%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>
結(jié)果如下:
魔法命令
Jupyter notebooks 包含很多的“魔法命令”,可以使用“%timeit”魔術(shù)命令:
交互式部件
Notebook 支持交互式部件,可以為數(shù)據(jù)分析構(gòu)建自定義用戶界面。例如可以創(chuàng)建一個(gè)滑塊小部件來(lái)調(diào)整代碼中的參數(shù):
from ipywidgets import interact
@interact(x=(0, 10))
def square(x):
print(x**2)
結(jié)果如下:
嵌入代碼
可以使用反引號(hào) (`) 在 Jupyter Notebook 的 Markdown 單元格中嵌入代碼。
`x = 10`
```Python
str = "This is block level code"
print(str)
```
轉(zhuǎn)換成PPT
Jupyter 筆記本可以使用“rise”擴(kuò)展轉(zhuǎn)換為交互式PPT。首先要安裝擴(kuò)展,請(qǐng)運(yùn)行以下命令:
!pip install RISE
!jupyter-nbextension install rise --py --sys-prefix
!jupyter-nbextension enable rise --py --sys-prefix
安裝后,轉(zhuǎn)到“View ”并選擇“Slideshow ”(如果沒(méi)有看到此選項(xiàng),請(qǐng)刷新)。這樣就可以為每個(gè)單元格選擇幻燈片類(lèi)型。
幻燈片類(lèi)型可以是以下類(lèi)型之一:
Slide — 幻燈片的基本類(lèi)型。
Sub-slide——“Slide ”的片段。
Fragment —幻燈片上的信息。
Skip — 在演示過(guò)程中跳過(guò)此單元格。
Notes ——演講者視圖中出現(xiàn)的,類(lèi)似提詞器。
結(jié)果如下:
自定義 Matplotlib 圖
Jupyter Notebook 默認(rèn)使用 Matplotlib 進(jìn)行數(shù)據(jù)可視化,所以我們可以設(shè)置一些默認(rèn)的參數(shù),例如可以使用“rcParams”字典更改繪圖標(biāo)簽的字體大小,這會(huì)將設(shè)置應(yīng)用于所有 matplotlib 繪圖:
import matplotlib.pyplot as plt
## setting global settings
plt.rcParams.update({'font.size': 10,'lines.linewidth': 3})
自定義主題
Jupyter Notebooks 帶有默認(rèn)主題,我們可以通過(guò)安裝和應(yīng)用自定義主題自定義外觀。要安裝主題,可以使用 jupyterthemes 包:
!pip install jupyterthemes
列出所有可用的主題:
!jt -l
然后,可以使用命令來(lái)安裝主題,例如:
!jt -t grade3
安裝完后,需要重啟 Jupyter notebook。
如果想重置默認(rèn)主題,可以使用以下命令(記得重啟):
!jt -r
LaTeX 支持
如果需要包含數(shù)學(xué)方程式,您可以在 IPython 的顯示模塊中使用 LaTeX 語(yǔ)法。
例如,以下代碼將顯示 2 個(gè)分?jǐn)?shù)相加的數(shù)學(xué)表示及其輸出。
from IPython.display import display, Math
display(Math('\\frac{2}{3} + \\frac{4}{5} = \\frac{22}{15}'))
單元格中顯示多個(gè)輸出
Jupyter Notebook 中工作時(shí),默認(rèn)僅顯示單元格中的最后一個(gè)輸出。但是可以使用 IPython.core.interactiveshell 中的 InteractiveShell 模塊在單個(gè)單元格中顯示多個(gè)輸出。
要顯示單元格的所有輸出,可以在單元格的開(kāi)頭使用以下代碼:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
但是記住,這樣如果變量多的話會(huì)很亂
總結(jié)
本文總結(jié)了一些充分利用 Jupyter Notebooks 的技巧。這些技巧可以幫助您簡(jiǎn)化工作流程并提高工作效率。無(wú)論是數(shù)據(jù)分析師、數(shù)據(jù)科學(xué)家還是機(jī)器學(xué)習(xí)工程師,Jupyter Notebooks 都可以成為工作的強(qiáng)大工具。通過(guò)掌握這些提技巧,可以將數(shù)據(jù)分析提升到一個(gè)新的水平,并使你的工作更加高效。