1. 程式人生 > >jupyter入門教程(下)

jupyter入門教程(下)

從之前介紹的教程第一部分中,我們發現使用Jupyter notebook的基本功能就可以做很多事情了,但是它還有更多的功能和選擇,允許使用者創造更漂亮的互動式文件。

單元操作

當你在編輯notebook時,你希望使用更多高階的cell操作。幸運的是,notebook允許你使用非常豐富的cell操作。你可以刪除一個cell,先選中cell,點選Edit->Delete cell。你也可以移動一個cell的位置,點選Edit-> 
Move cell [up | down]。你也可以剪下、貼上cell,點選Edit->Cut Cell then Edit -> Paste Cell …,選擇需要的貼上形式。如果有許多cells,而你只想執行一次,或者你想一次性執行大量程式碼,你就可以合併多個cells,點選Edit->Merge cell [above|below]。編輯notebook時,記住這些操作,會節約你很多時間。

Markdown單元高階用法

讓我們再深入地探討下markdown單元型別,即便它的型別是markdown,它同時也支援HTML程式碼。你可以在你的cell中建立更高階的樣式,比如新增圖片等等。舉個例子來說,如果你想在notebook中新增Jupyter的圖示,尺寸為100x100,並且放置在cell左側,可以這樣編寫:

<img src="https://img-blog.csdn.net/20170605082511967?"
style="width:500px;height:100px;float:left">

執行該單元,效果如下:

這裡寫圖片描述

除此之外,markdown還支援LaTex語法。你可以在markdown cell中按照LaTex語法規則寫下方程式,然後直接執行,就可以看到結果。例如執行下面方程式:

$$\int_0^{+\infty} x^2 dx$$

執行後就得到了LaTex方程式:

這裡寫圖片描述

匯出功能

notebook另一個強大的功能就是匯出功能。你可以把你的notebook(例如是個圖解程式碼課程)匯出為如下多種形式:

  • HTML

  • Markdown

  • ReST

  • PDF(Through LaTex)

  • Raw Python

如果匯出成PDF格式,你甚至可以不使用LaTex就建立了一個漂亮的文件。或者,你可以將你的notebook儲存為HTML格式,釋出到個人網站上。你還可以匯出成ReST格式,作為軟體庫的文件。

Matplotlib整合

如果你用Python畫過圖,應該知道matplotlib。Matplotlib是用來畫圖的Python庫。與Jupyter notebook結合使用時,效果更好。下面,讓我們來看看如何在Jupyter notebook中使用matplotlib。

為了在Jupyter notebook中使用matplotlib,你需要告訴Jupyter獲取所有matplotlib生成的圖形,並把它們全部嵌入到notebook中。為此,只需輸入以下命令:

%matplotlib inline

這條語句執行可能耗費幾秒鐘,但是隻需要你開啟notebook時執行一次就好。讓我們作個圖,看看是怎麼整合的:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(20)
y = x**2

plt.plot(x, y)

這段簡單程式碼將繪出y=x2y=x2對應的二次曲線。執行這個cell,結果如下所示:

這裡寫圖片描述

我們可以看到,圖直接嵌入到notebook中,就在程式碼下面。修改程式碼,重新執行,圖形將自動同步更新。對於每個想要把程式碼和圖形放在同一個檔案中的資料科學家來說,這是一個很好的特性,這樣可以清楚知道每段程式碼究竟幹了什麼。同時,在文件中新增一些文字型描述也有很大的作用。

非本地核心

Jupyter notebook非常容易從本地電腦上啟動,也允許多個人通過網路連線到同一個Jupyter例項。你是否注意到,在上一部分的教程中,啟動Jupyter時出現了下面這條語句:

這條語句表示你的notebook是本地執行,可以在瀏覽器中輸入地址http://localhost:8888/,開啟你的notebook。通過修改配置,可以讓notebook面向公開訪問。這樣,任何人如果知道這個notebook地址,就通過瀏覽器可以遠端訪問並修改notebook。

結語

通過這兩個部分的入門教程,我們知道了Jupyter notebook是一個非常強大的工具,允許使用者為資料分析、教育、檔案等任何你可以想到的內容建立漂亮的互動式文件。不要猶豫,探索它更多的功能和可能性。如果你有任何問題或者想感謝開發者們,請給他們反饋。

https://blog.csdn.net/red_stone1/article/details/72863749