一、簡介
Jupyter Notebook是一個(gè)開源的Web應(yīng)用程序,允許用戶創(chuàng)建和共享包含代碼、方程式、可視化和文本的文檔。它的用途包括:數(shù)據(jù)清理和轉(zhuǎn)換、數(shù)值模擬、統(tǒng)計(jì)建模、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)等等。它具有以下優(yōu)勢:
可選擇語言:支持超過40種編程語言,包括Python、R、Julia、Scala等。
分享筆記本:可以使用電子郵件、Dropbox、GitHub和Jupyter Notebook Viewer與他人共享。
交互式輸出:代碼可以生成豐富的交互式輸出,包括HTML、圖像、視頻、LaTeX等等。
大數(shù)據(jù)整合:通過Python、R、Scala編程語言使用Apache Spark等大數(shù)據(jù)框架工具。支持使用pandas、scikit-learn、ggplot2、TensorFlow來探索同一份數(shù)據(jù)。
二、安裝與運(yùn)行
雖然Jupyter可以運(yùn)行多種編程語言,但Python是安裝Jupyter Noterbook的必備條件(Python2.7,或Python3.3以上)??梢灾苯邮褂肁naconda安裝,在安裝完Anaconda后默認(rèn)安裝好Jupyter Noterbook。關(guān)于安裝的全部信息可以在官網(wǎng)讀到:安裝Jupyter。
2.1使用Anaconda安裝
官網(wǎng)下載
對于小白,強(qiáng)烈建議使用Anaconda發(fā)行版安裝Python和Jupyter,其中包括Python、Jupyter Notebook和其他常用的科學(xué)計(jì)算和數(shù)據(jù)科學(xué)軟件包。
首先,下載Anaconda。建議下載Anaconda的最新Python 3版本。其次,請按照下載頁面上的說明安裝下載的Anaconda版本。比如下圖,Windows系統(tǒng)可以選擇Python3.7下面的64位的安裝包。

恭喜,你已經(jīng)成功安裝好了!
具體安裝詳情參考簡書
2.2配置Jupyter Notebook
首先我們可以在開始菜單找到anaconda文件夾打開里面的Anaconda Prompt,

輸入
jupyter notebook --generate-config
找到所示路徑的文件,將
#c.NotebookApp.notebook_dir = ''更改為c.NotebookApp.notebook_dir = 'E:\Py\jupyter'后面的路徑可以更改為自己的工作空間

接下來右擊jupyter Notebook點(diǎn)擊屬性,吧后面的“%USERPROFILE”刪掉,并把下面的初始位置中的內(nèi)容改為上面設(shè)置的工作路徑

改完后為下圖

如有新建環(huán)境可以先安裝jupyter模塊

以后操作跟上述一樣即可。
具體配置詳情參考博客
2.3運(yùn)行Jupyter Notebook
成功安裝Jupyter Notebook后,在開始菜單找到j(luò)upyter notebook就可打開Jupyter Notebook,不同環(huán)境可以打開不同的jupyter。

下面演示一下在Windows系統(tǒng)中打開Jupyter Notebook:


參閱運(yùn)行Notebook了解更多詳情。
三、主面板(Notebook Dashboard)
打開Notebook,可以看到主面板。在菜單欄中有Files、Running、Clusters、Conda四個(gè)選項(xiàng)。用到最多的是Files,我們可以在這里完成notebook的新建、重命名、復(fù)制等操作。具體功能如下:

在Running中,可以看到正在運(yùn)行的notebook,我們可以選擇結(jié)束正在運(yùn)行的程序。

至于Clusters、Conda一般用不到,暫不做介紹,后續(xù)補(bǔ)充。
四、編輯界面(Notebook Editor)
一個(gè)notebook的編輯界面主要由四部分組成:名稱、菜單欄、工具條以及單元(Cell),如下圖所示:

4.1 名稱
在這里,我們可以修改notebook的名字,直接點(diǎn)擊當(dāng)前名稱,彈出對話框進(jìn)行修改:

修改后:

4.2菜單欄
菜單欄中有File、Edit、View、Insert、Cell、Kernel、Help等功能,下面逐一介紹。
4.2.1 File
File中的按鈕選項(xiàng)如下圖所示:

選項(xiàng) 功能
New Notebook 新建一個(gè)notebook
Open… 在新的頁面中打開主面板
Make a Copy… 復(fù)制當(dāng)前notebook生成一個(gè)新的notebook
Rename… notebook重命名
Save and Checkpoint 將當(dāng)前notebook狀態(tài)存為一個(gè)Checkpoint
Revert to Checkpoint 恢復(fù)到此前存過的Checkpoint
Print Preview 打印預(yù)覽
Download as 下載notebook存為某種類型的文件
Close and Halt 停止運(yùn)行并退出該notebook
在這里,為notebook保存狀態(tài)是比較重要的,在緊急關(guān)閉時(shí)防止數(shù)據(jù)丟失。盡管存檔只有1個(gè)。另一個(gè)Download as也是個(gè)重點(diǎn),
4.2.2 Edit
Edit中的按鈕選項(xiàng)如下圖所示:

選項(xiàng) 功能
Cut Cells 剪切單元
Copy Cells 復(fù)制單元
Paste Cells Above 在當(dāng)前單元上方粘貼上復(fù)制的單元
Paste Cells Below 在當(dāng)前單元下方粘貼上復(fù)制的單元
Paste Cells & Replace 替換當(dāng)前的單元為復(fù)制的單元
Delete Cells 刪除單元
Undo Delete Cells 撤回刪除操作
Split Cell 從鼠標(biāo)位置處拆分當(dāng)前單元為兩個(gè)單元
Merge Cell Above 當(dāng)前單元和上方單元合并
Merge Cell Below 當(dāng)前單元和下方單元合并
Move Cell Up 將當(dāng)前單元上移一層
Move Cell Down 將當(dāng)前單元下移一層
Edit Notebook Metadata 編輯notebook的元數(shù)據(jù)
Find and Replace 查找替換,支持多種替換方式:區(qū)分大小寫、使用JavaScript正則表達(dá)式、在選中單元或全部單元中替換
4.2.3 View
View中的按鈕選項(xiàng)如下圖所示:
具體功能如下表:
選項(xiàng) 功能
Toggle Header 隱藏/顯示Jupyter notebook的logo和名稱
Toggle Toolbar 隱藏/顯示Jupyter notebook的工具條
Cell Toolbar 更改單元展示式樣
View中的功能可以讓用戶更好的展示自己的notebook,但對編寫代碼、實(shí)現(xiàn)功能沒有影響。
4.2.4 Insert
功能:在當(dāng)前單元上方/下方插入新的單元。
4.2.5 Cell
選項(xiàng) 功能
Run Cells 運(yùn)行單元內(nèi)代碼
Run Cells and Select Below 運(yùn)行單元內(nèi)代碼并將光標(biāo)移動到下一單元
Run Cells and Insert Below 運(yùn)行單元內(nèi)代碼并在下方新建一單元
Run All 運(yùn)行所有單元內(nèi)的代碼
Run All Above 運(yùn)行該單元(不含)上方所有單元內(nèi)的代碼
Run All Below 運(yùn)行該單元(含)下方所有單元內(nèi)的代碼
Cell Type 選擇單元內(nèi)容的性質(zhì)
Current Outputs 對當(dāng)前單元的輸出結(jié)果進(jìn)行隱藏/顯示/滾動/清除
All Output 對所有單元的輸出結(jié)果進(jìn)行隱藏/顯示/滾動/清除
4.2.6 Kernel
[圖片上傳中…(5.png-36664e-1514169774199-0)]
選項(xiàng) 功能
Interrupt 中斷與內(nèi)核連接(等同于ctrl-c)
Restart 重啟內(nèi)核
Restart & Clear Output 重啟內(nèi)核并清空現(xiàn)有輸出結(jié)果
Restart & Run All 重啟內(nèi)核并重新運(yùn)行notebook中的所有代碼
Reconnect 重新連接到內(nèi)核
Change kernel 切換內(nèi)核
4.2.7 Help
選項(xiàng) 功能
User Interface Tour 用戶使用指南,非常棒的功能,帶你全面了解notebook
Keyboard Shortcuts 快捷鍵大全
Notebook Help notebook使用指南
Markdown Markdown使用指南
Python…pandas 各類使用指南
About 關(guān)于Jupyter Notebook的一些信息
4.3 工具條
工具條中的功能基本上在菜單中都可以實(shí)現(xiàn),這里是為了能更快捷的操作,將一些常用按鈕放了出來。下圖是對各按鈕的解釋。
4.4 單元(Cell)
在單元中我們可以編輯文字、編寫代碼、繪制圖片等等。對于單元的詳細(xì)內(nèi)容放在第五節(jié)中介紹。
五、單元(Cell)
5.1兩種模式與快捷鍵
對于Notebook中的單元,有兩種模式:命令模式(Command Mode)與編輯模式(Edit Mode),在不同模式下我們可以進(jìn)行不同的操作。
如上圖,在編輯模式(Edit Mode)下,右上角出現(xiàn)一只鉛筆的圖標(biāo),單元左側(cè)邊框線呈現(xiàn)出綠色,點(diǎn)Esc鍵或運(yùn)行單元格(ctrl-enter)切換回命令模式。
在命令模式(Command Mode)下,鉛筆圖標(biāo)消失,單元左側(cè)邊框線呈現(xiàn)藍(lán)色,按Enter鍵或者雙擊cell變?yōu)榫庉嫚顟B(tài)。
5.1.1命令模式下的快捷鍵
5.1.2編輯模式下的快捷鍵
注意不要死記硬背,在使用過程中需要什么就去查,多用用就能記住了。
5.2 Cell的四種功能
Cell有四種功能:Code、Markdown、Raw NBConvert、Heading,這四種功能可以互相切換。Code用于寫代碼,Markdown用于文本編輯,Raw NBConvert中的文字或代碼等都不會被運(yùn)行,Heading是用于設(shè)置標(biāo)題的,這個(gè)功能已經(jīng)包含在Markdown中了。四種功能的切換可以使用快捷鍵或者工具條。
Code用于寫代碼,三類提示符及含義如下:
提示符 含義
In[ ] 程序未運(yùn)行
In[num] 程序運(yùn)行后
In[*] 程序正在運(yùn)行
Markdown用于編輯文本,給出常用的Markdown用法:
其他非常用的用法需要時(shí)可以再查閱。
六、魔法函數(shù)
使用魔法函數(shù)可以簡單的實(shí)現(xiàn)一些單純python要很麻煩才能實(shí)現(xiàn)的功能。
%:行魔法函數(shù),只對本行代碼生效。
%%:Cell魔法函數(shù),在整個(gè)Cell中生效,必須放于Cell首行。
%lsmagic:列出所有的魔法函數(shù)
%magic查看各個(gè)魔法函數(shù)的說明
?后面加上魔法函數(shù)名稱,可以查看該函數(shù)的說明
一些常用魔法函數(shù)的示例:
魔法函數(shù) 作用
%%writefile 調(diào)用外部python腳本
%run 調(diào)用外部python腳本
%timeit 測試單行語句的執(zhí)行時(shí)間
%%timeit 測試整個(gè)單元中代碼的執(zhí)行時(shí)間
% matplotlib inline 顯示 matplotlib 包生成的圖形
%%writefile 寫入文件
%pdb 調(diào)試程序
%pwd 查看當(dāng)前工作目錄
%ls 查看目錄文件列表
%reset 清除全部變量
%who 查看所有全局變量的名稱,若給定類型參數(shù),只返回該類型的變量列表
%whos 顯示所有的全局變量名稱、類型、值/信息
%xmode Plain 設(shè)置為當(dāng)異常發(fā)生時(shí)只展示簡單的異常信息
%xmode Verbose 設(shè)置為當(dāng)異常發(fā)生時(shí)展示詳細(xì)的異常信息
%debug bug調(diào)試,輸入quit退出調(diào)試
%env 列出全部環(huán)境變量
注意這些命令是在Python kernel中適用的,其他 kernel 不一定適用
七、其他
(1)按tab鍵查看提示信息或者補(bǔ)全命令
(2)在一個(gè)庫、方法或變量前加上 ?,就可以獲得它的一個(gè)快速語法說明
(3)使用分號可以阻止該行函數(shù)的結(jié)果輸出
參考博客