ipython notebook教程


一、簡介

Jupyter Notebook是一個開源的Web應用程序,允許用戶創建和共享包含代碼、方程式、可視化和文本的文檔。它的用途包括:數據清理和轉換、數值模擬、統計建模、數據可視化、機器學習等等。它具有以下優勢:

  • 可選擇語言:支持超過40種編程語言,包括Python、R、Julia、Scala等。
  • 分享筆記本:可以使用電子郵件、Dropbox、GitHub和Jupyter Notebook Viewer與他人共享。
  • 交互式輸出:代碼可以生成豐富的交互式輸出,包括HTML、圖像、視頻、LaTeX等等。
  • 大數據整合:通過Python、R、Scala編程語言使用Apache Spark等大數據框架工具。支持使用pandas、scikit-learn、ggplot2、TensorFlow來探索同一份數據。

二、安裝與運行

雖然Jupyter可以運行多種編程語言,但Python是安裝Jupyter Noterbook的必備條件(Python2.7,或Python3.3以上)。有兩種安裝方式:使用Anaconda安裝或使用pip命令安裝。關於安裝的全部信息可以在官網讀到:安裝Jupyter

2.1使用Anaconda安裝

對於小白,強烈建議使用Anaconda發行版安裝Python和Jupyter,其中包括Python、Jupyter Notebook和其他常用的科學計算和數據科學軟件包。

首先,下載Anaconda。建議下載Anaconda的最新Python 3版本。其次,請按照下載頁面上的說明安裝下載的Anaconda版本。最后,安裝成功!

2.2使用pip命令安裝

對於有經驗的Python用戶,可以使用Python的包管理器pip而不是Anaconda 來安裝Jupyter 。
如果已經安裝了Python 3:

python3 -m pip install --upgrade pip
python3 -m pip install jupyter
  • 1
  • 2

如果已經安裝了Python 2:

python -m pip install --upgrade pip python -m pip install jupyter
  • 1
  • 2

恭喜,你已經成功安裝好了!

2.3運行Jupyter Notebook

成功安裝Jupyter Notebook后,在Terminal (Mac / Linux)或Command Prompt(Windows)中運行以下命令就可打開Jupyter Notebook。

jupyter notebook
  • 1

下面演示一下在Windows系統中打開Jupyter Notebook:

打開Command Prompt

輸入jupyter notebook,回車

顯示jupyter notebook頁面

參閱Windows 常用 CMD 命令了解關於Command Prompt更多信息。

參閱運行Notebook了解更多詳情。

三、主面板(Notebook Dashboard)

打開Notebook,可以看到主面板。在菜單欄中有Files、Running、Clusters、Conda四個選項。用到最多的是Files,我們可以在這里完成notebook的新建、重命名、復制等操作。具體功能如下:

Notebook主面板:File

在Running中,可以看到正在運行的notebook,我們可以選擇結束正在運行的程序。

Notebook主面板:Running

至於Clusters、Conda一般用不到,暫不做介紹,后續補充。

四、編輯界面(Notebook Editor)

一個notebook的編輯界面主要由四部分組成:名稱、菜單欄、工具條以及單元(Cell),如下圖所示:

notebook界面

4.1 名稱

在這里,我們可以修改notebook的名字,直接點擊當前名稱,彈出對話框進行修改:
notebook名稱修改

4.2菜單欄

菜單欄中有File、Edit、View、Insert、Cell、Kernel、Help等功能,下面逐一介紹。

4.2.1 File

File中的按鈕選項如下圖所示:

File中的按鈕選項

具體功能如下表:

選項 功能
New Notebook 新建一個notebook
Open… 在新的頁面中打開主面板
Make a Copy… 復制當前notebook生成一個新的notebook
Rename… notebook重命名
Save and Checkpoint 將當前notebook狀態存為一個Checkpoint
Revert to Checkpoint 恢復到此前存過的Checkpoint
Print Preview 打印預覽
Download as 下載notebook存為某種類型的文件
Close and Halt 停止運行並退出該notebook

4.2.2 Edit

Edit中的按鈕選項如下圖所示:

Edit中的按鈕選項

具體功能如下表:

選項 功能
Cut Cells 剪切單元
Copy Cells 復制單元
Paste Cells Above 在當前單元上方粘貼上復制的單元
Paste Cells Below 在當前單元下方粘貼上復制的單元
Paste Cells & Replace 替換當前的單元為復制的單元
Delete Cells 刪除單元
Undo Delete Cells 撤回刪除操作
Split Cell 從鼠標位置處拆分當前單元為兩個單元
Merge Cell Above 當前單元和上方單元合並
Merge Cell Below 當前單元和下方單元合並
Move Cell Up 將當前單元上移一層
Move Cell Down 將當前單元下移一層
Edit Notebook Metadata 編輯notebook的元數據
Find and Replace 查找替換,支持多種替換方式:區分大小寫、使用JavaScript正則表達式、在選中單元或全部單元中替換

4.2.3 View

View中的按鈕選項如下圖所示:

具體功能如下表:

選項 功能
Toggle Header 隱藏/顯示Jupyter notebook的logo和名稱
Toggle Toolbar 隱藏/顯示Jupyter notebook的工具條
Cell Toolbar 更改單元展示式樣

View中的功能可以讓用戶更好的展示自己的notebook,但對編寫代碼、實現功能沒有影響。

4.2.4 Insert

功能:在當前單元上方/下方插入新的單元。

4.2.5 Cell

選項 功能
Run Cells 運行單元內代碼
Run Cells and Select Below 運行單元內代碼並將光標移動到下一單元
Run Cells and Insert Below 運行單元內代碼並在下方新建一單元
Run All 運行所有單元內的代碼
Run All Above 運行該單元(不含)上方所有單元內的代碼
Run All Below 運行該單元(含)下方所有單元內的代碼
Cell Type 選擇單元內容的性質
Current Outputs 對當前單元的輸出結果進行隱藏/顯示/滾動/清除
All Output 對所有單元的輸出結果進行隱藏/顯示/滾動/清除

4.2.6 Kernel

[圖片上傳中…(5.png-36664e-1514169774199-0)]

選項 功能
Interrupt 中斷與內核連接(等同於ctrl-c)
Restart 重啟內核
Restart & Clear Output 重啟內核並清空現有輸出結果
Restart & Run All 重啟內核並重新運行notebook中的所有代碼
Reconnect 重新連接到內核
Change kernel 切換內核

4.2.7 Help

選項 功能
User Interface Tour 用戶使用指南,非常棒的功能,帶你全面了解notebook
Keyboard Shortcuts 快捷鍵大全
Notebook Help notebook使用指南
Markdown Markdown使用指南
Python…pandas 各類使用指南
About 關於Jupyter Notebook的一些信息

4.3 工具條

工具條中的功能基本上在菜單中都可以實現,這里是為了能更快捷的操作,將一些常用按鈕放了出來。下圖是對各按鈕的解釋。

4.4 單元(Cell)

在單元中我們可以編輯文字、編寫代碼、繪制圖片等等。對於單元的詳細內容放在第五節中介紹。

五、單元(Cell)

5.1兩種模式與快捷鍵

對於Notebook中的單元,有兩種模式:命令模式(Command Mode)與編輯模式(Edit Mode),在不同模式下我們可以進行不同的操作。

如上圖,在編輯模式(Edit Mode)下,右上角出現一只鉛筆的圖標,單元左側邊框線呈現出綠色,點Esc鍵或運行單元格(ctrl-enter)切換回命令模式。

在命令模式(Command Mode)下,鉛筆圖標消失,單元左側邊框線呈現藍色,按Enter鍵或者雙擊cell變為編輯狀態。

5.1.1命令模式下的快捷鍵

5.1.2編輯模式下的快捷鍵

注意不要死記硬背,在使用過程中需要什么就去查,多用用就能記住了。

5.2 Cell的四種功能

Cell有四種功能:Code、Markdown、Raw NBConvert、Heading,這四種功能可以互相切換。Code用於寫代碼,Markdown用於文本編輯,Raw NBConvert中的文字或代碼等都不會被運行,Heading是用於設置標題的,這個功能已經包含在Markdown中了。四種功能的切換可以使用快捷鍵或者工具條。

Code用於寫代碼,三類提示符及含義如下:

提示符 含義
In[ ] 程序未運行
In[num] 程序運行后
In[*] 程序正在運行

Markdown用於編輯文本,給出常用的Markdown用法:

其他非常用的用法需要時可以再查閱。

六、魔法函數

使用魔法函數可以簡單的實現一些單純python要很麻煩才能實現的功能。

%:行魔法函數,只對本行代碼生效。
%%:Cell魔法函數,在整個Cell中生效,必須放於Cell首行。
%lsmagic:列出所有的魔法函數
%magic查看各個魔法函數的說明
?后面加上魔法函數名稱,可以查看該函數的說明

一些常用魔法函數的示例:

 

魔法函數 作用
%%writefile 調用外部python腳本
%run 調用外部python腳本
%timeit 測試單行語句的執行時間
%%timeit 測試整個單元中代碼的執行時間
% matplotlib inline 顯示 matplotlib 包生成的圖形
%%writefile 寫入文件
%pdb 調試程序
%pwd 查看當前工作目錄
%ls 查看目錄文件列表
%reset 清除全部變量
%who 查看所有全局變量的名稱,若給定類型參數,只返回該類型的變量列表
%whos 顯示所有的全局變量名稱、類型、值/信息
%xmode Plain 設置為當異常發生時只展示簡單的異常信息
%xmode Verbose 設置為當異常發生時展示詳細的異常信息
%debug bug調試,輸入quit退出調試
%env 列出全部環境變量

注意這些命令是在Python kernel中適用的,其他 kernel 不一定適用

七、其他

(1)按tab鍵查看提示信息或者補全命令

(2)在一個庫、方法或變量前加上 ?,就可以獲得它的一個快速語法說明

(3)使用分號可以阻止該行函數的結果輸出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM