Jupyter Notebook 快速入門

簡介

Jupyter Notebook(此前被稱為 Ipython notebook)是一個交互式筆記本瞧甩,支持運行 40 多種編程語言。在本文中灶伊,我們將介紹 Jupyter notebook 的主要特性疆前,以及為什么對于希望編寫漂亮的交互式文檔的人來說是一個強大工具。

安裝與啟動

  1. 安裝
    在開始使用 notebook 之前聘萨,我們需要安裝該庫竹椒。你可以在 Jupyter 官網(wǎng)上找到完整的步驟。
    譯者注:其實只要 pip install jupyter 就可以了
  2. 運行命令
jupyter notebook
  1. 運行結(jié)果
    運行上面的命令之后米辐,你將看到類似下面這樣的輸出:
[I 20:06:36.367 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:06:36.813 NotebookApp] Serving notebooks from local directory: /home/your_username
[I 20:06:36.813 NotebookApp] 0 active kernels
[I 20:06:36.813 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 20:06:36.813 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

同時胸完,會在你開啟 notebook 的文件夾中啟動 Jupyter 主界面,如下所示:


主界面.jpg

如果想新建一個 notebook翘贮,只需要點擊 New舶吗,選擇你希望啟動的 notebook 類型即可。


新建.jpg

這里择膝,因為我只有一個 Python 內(nèi)核誓琼,所以我們運行一個 Python notebook。在新打開的標簽頁中肴捉,我們會看到 notebook 界面腹侣,目前里面什么也沒有。
新建結(jié)果.jpg

注意:使用 pip install jupyter齿穗,可能使用啟動命令 jupyter notebook 時傲隶,出現(xiàn)如下問題:

Error executing Jupyter command 'notebook': [Errno 2] No such file or directory

解決方案:https://stackoverflow.com/questions/42648610/error-when-executing-jupyter-notebook-no-such-file-or-directory

使用

1)notebook 界面由以下部分組成

  1. notebook 名稱。
  2. 主工具來窃页,提供了保存跺株、導出、重載 notebook脖卖,以及重啟內(nèi)核等選項乒省。
  3. 快捷建。
  4. notebook 主要區(qū)域畦木,包括了 notebook 的內(nèi)容編輯區(qū)袖扛。
    慢慢熟悉這些菜單和選項,如果想要詳細了解有關 notebook 或一些庫的具體話題,可以使用菜單欄右側(cè)的幫助菜單蛆封。

2)下方的主要區(qū)域唇礁,由被成為單元的部分組成。
每個 notebook 由多個單元格構成惨篱,而每個單元格又可以有不同的用途盏筐。

  1. 下方截圖中看到的是一個代碼單元(code cell),以 [ ] 開頭砸讳。在這種類型的單元格中琢融,可以輸入任意代碼并執(zhí)行。例如绣夺,輸入 1 + 2 并按下 Shift + Enter 。之后欢揖,單元格中的代碼就會被計算陶耍,光標也會被運到一個新的單元格中。
    你會得到如下結(jié)果:
    運行結(jié)果.jpg

    根據(jù)綠色框線她混,我們可以輕松地識別出當前工作的單元格烈钞。
  2. 我們在第二個單元格中輸入其他代碼
    例如:
for  i  in  range(5):
    print(i)

對于上面的代碼求值時,你會得到如下結(jié)果:

求值結(jié)果.jpg

和前一個示例一樣坤按,代碼被計算之后毯欣,馬上就會顯示結(jié)果。你應該注意到臭脓,這次沒有出現(xiàn)類似 Out[2] 這樣的文字酗钞。這是因為我們將結(jié)果打印出來了,沒有返回任何的值来累。

  1. 修改單元格并計算
    notebook 有一個非常有趣的特性砚作,就是可以修改ia之前的單元格,對其重新計算嘹锁,這樣就可以更新整個文檔了葫录。
    試著把光標移回第一個單元格,并將 1 + 2 修改成 2 + 3领猾,然后按下 Shift + Enter 重新計算該單元格米同。你會發(fā)現(xiàn)結(jié)果馬上就更新成了 5``。 如果你不想重新執(zhí)行整個腳本摔竿,只想用不同的參數(shù)測試某個程式的話面粮,這個特性顯得尤其強大。不過继低,你也可以重新計算整個notebook但金,只要點擊Cell -> Run all``` 即可。

  2. 豐富內(nèi)容
    現(xiàn)在我們已經(jīng)知道了如何輸入代碼為什么不嘗試著讓這個 notebook 更加漂亮郁季、內(nèi)容更豐富冷溃?
    為此钱磅,我們需要使用其他類型的單元格,即 Header 單元格和 Markdown 單元格似枕。
    首先盖淡,我們在頂部添加一個 notebook 的標題。選中第一個單元格凿歼,然后點擊 Insert -> Insert 單元格 above(在上方插入單元格)褪迟。你會發(fā)現(xiàn),文檔的頂部馬上就出現(xiàn)了一個新的單元格答憔。淡季在快捷欄中的單元格類型味赃,將其變成一個標題單元格(heading cell):

    heading cell.jpg

    選中下拉選項中的 Heading 。然后會出現(xiàn)一個彈出消息虐拓,告訴你如何創(chuàng)建不同的層級的標題心俗,這樣你就有了一個不同類型的 cell
    cell.jpg

    這個單元格以 # 標記開頭,意味著這是一個一級標題蓉驹。如果需要子標題城榛,可以使用以下標記表示(改變單元格類型時彈出消息中有解釋):

# : 一級標題
## : 二級標題
### : 三級標題
...

# 之后寫下文檔的標題,然后計算該單元格态兴。你會發(fā)現(xiàn)一個樣式非常號看的標題狠持。作為示例和練習,我們還添加了其他幾個標題單元格:

其他標題.jpg

  1. 重新命名該 notebook
    點擊 File -> Rename 瞻润,然后輸入新的名稱喘垂。這樣,新的名稱將會出現(xiàn)在窗口的左上角绍撞,在 Jupyter 的標志旁邊王污。

單元格操作

高級單元格操作,將讓編寫 notebook 變得更加方便楚午。
舉例:
. 如果想刪除某個單元格昭齐,可以選擇該單元格,然后依次點擊Edit -> Delete Cell矾柜;
. 如果想移動某個單元格阱驾,只需要依次點擊Edit -> Move cell [up | down];
. 如果想剪貼某個單元測怪蔑,可以先點擊Edit -> Cut Cell里覆,然后在點擊Edit -> Paste Cell [Above | Below];
. 如果你的 notebook 中有很多單元格只需要執(zhí)行一次缆瓣,或者想一次性執(zhí)行大段代碼喧枷,那么可以選擇合并這些單元格。點擊Edit -> Merge Cell [Above | below]。
記住這些操作隧甚,他們可以幫助你節(jié)省許多時間车荔。

Markdown 單元格高級用法

我們再來看看 Markdown 單元格。雖然它的類型是 markdown戚扳,但是這類單元格也接受 HTML 代碼忧便。這樣,你就可以在單元格類實現(xiàn)更加豐富的樣式帽借,添加圖片珠增,等等。例如砍艾,如果想在 notebook 中添加 Jupyter 的 logo蒂教,將其大小設置為 100px x 100px,并且放置在單元格左側(cè)脆荷,可以這樣編寫:
<img src="http://blog.jupyter.org/content/images/2015/02/jupyter-sq-text.png"
style="width:100px;height:100px;float:left">
計算該單元格之后凝垛,會出現(xiàn)這樣的結(jié)果:

計算結(jié)果.png

另外,markdown 單元格還支持 LaTex 語法简烘。例如:
$$\int_0^{+\infty} x^2 dx$$
計算上述單元格苔严,將獲得下面的 LaTex 方程式:
LaTex.png

導出功能

notebook 還有一個強大的特性定枷,就是其導出功能孤澎。可以將 notebook 導出為多種格式:
. HTML
. Markdown
. ReST
. PDF(通過 LaTeX)
. Raw Python
導出 PDF 功能欠窒,可以讓你不用寫 LaTex 即可創(chuàng)建漂亮的 PDF 文檔覆旭。你還可以將 notebook 作為網(wǎng)頁發(fā)布在你的網(wǎng)站上。甚至岖妄,你可以導出為 ReST 格式型将,作為軟件庫的文檔。

Matplotlib 集成

如果你用 Python 繪制過圖形荐虐,那你肯定知道 matplotlib七兜。Matplotlib 是一個用于創(chuàng)建漂亮圖形的 Python 庫,結(jié)合 Jupyter notebook 使用時體驗更佳福扬。
要想在 Jupyter notebook 中使用 matplotlib腕铸,需要告訴 Jupyter 獲取 matplotlib 生成的所有圖形,并將其嵌入 notebook 中铛碑。
為此狠裹,需要計算:
%matplotlib inline
譯注:要想執(zhí)行成功,需要先pip install matplotlib汽烦。
運行這個指令可能要花個幾秒鐘涛菠,但是在 notebook 中需要執(zhí)行一次即可。接下來,我們來繪制一個圖形俗冻,看看具體的集成效果:

import matplotlib.pyplot as plt
import numpy as np

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

plt.plot(x, y)

上面的代碼將繪制方程式 y=x^2 礁叔。計算單元格后,會得到如下圖形:


圖形.png

我們看到言疗,繪制出的圖形直接添加在了 notebook 中晴圾,就在代碼的下面。我們可以之后修改代碼噪奄,重新計算死姚,這時圖形也會動態(tài)更新。這是每個數(shù)據(jù)科學家都想要的一個特性:將代碼和圖片放在同一個文件中勤篮,清楚地看出每段代碼的效果都毒。

非本地內(nèi)核

我們可以非常容易地在一臺電腦上啟動 Jupyter,而且支持多人通過網(wǎng)絡連接同一個 Jupyter 實例碰缔。在上一篇文章中账劲,你有沒有注意啟動 Jupyter 時出現(xiàn)過這樣一段話:
The IPython Notebook is running at: http://localhost:8888/
這意味著,你的 notebook 是本地運行的金抡,可以在瀏覽器上打開 http://localhost:8888/ 瀑焦,從而訪問 notebook。你也可以修改下配置梗肝,讓該 notebook 可以被公開訪問榛瓮。這樣,任何知道 notebook 地址的人都可以連接到 notebook 進行遠程修改巫击。
遠程訪問 jupyter notebook 配置:http://www.reibang.com/p/8d296b84ac0f

結(jié)語

從這篇快速入門介紹中禀晓,我們可以看到:Jupyter notebook 是一個非常強大的工具,可以創(chuàng)建漂亮的交互式文檔坝锰,制作教學材料粹懒,等等。建議你馬上開始使用 Jupyter notebook顷级,探索更多 notebook 的強大功能凫乖。

原文:https://www.cnblogs.com/nxld/p/6566380.html

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市弓颈,隨后出現(xiàn)的幾起案子帽芽,更是在濱河造成了極大的恐慌,老刑警劉巖恨豁,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚣镜,死亡現(xiàn)場離奇詭異,居然都是意外死亡橘蜜,警方通過查閱死者的電腦和手機菊匿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門付呕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跌捆,你說我怎么就攤上這事徽职。” “怎么了佩厚?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵姆钉,是天一觀的道長。 經(jīng)常有香客問我抄瓦,道長潮瓶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任钙姊,我火速辦了婚禮毯辅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘煞额。我一直安慰自己思恐,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布膊毁。 她就那樣靜靜地躺著胀莹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪婚温。 梳的紋絲不亂的頭發(fā)上描焰,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音缭召,去河邊找鬼栈顷。 笑死逆日,一個胖子當著我的面吹牛嵌巷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播室抽,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼搪哪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了坪圾?” 一聲冷哼從身側(cè)響起晓折,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兽泄,沒想到半個月后漓概,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡病梢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年胃珍,在試婚紗的時候發(fā)現(xiàn)自己被綠了梁肿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡觅彰,死狀恐怖吩蔑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情填抬,我是刑警寧澤烛芬,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站飒责,受9級特大地震影響赘娄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宏蛉,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一擅憔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧檐晕,春花似錦暑诸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芥喇,卻和暖如春西采,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背继控。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工械馆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人武通。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓霹崎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冶忱。 傳聞我的和親對象是個殘疾皇子尾菇,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容