1. 程式人生 > 程式設計 >jupyter notebook快速入門及使用詳解

jupyter notebook快速入門及使用詳解

一、jupyter notebook是什麼

官網的介紹是:Jupyter Notebook是一個Web應用程式,允許您建立和共享包含實時程式碼,方程,視覺化和說明文字的文件。 用途包括:資料清理和轉換,數值模擬,統計建模,機器學習等等。

簡單的介紹就是:Jupyter Notebook是Ipython的升級版,而Ipython可以說是一個加強版的互動式 Shell,也就是說,它比在terminal裡執行python會更方便,介面更友好,功能也更強大。怎麼強大法,往下看就知道了。

此架構的一個優點是,核心無需執行 Python。由於 notebook 和核心分開,因此可以在兩者之間傳送任何語言的程式碼。例如,早期的兩個非 Python 核心分別是 R 語言和 Julia 語言。使用 R 核心時,用 R 編寫的程式碼將傳送給執行該程式碼的 R 核心,這與在 Python 核心上執行 Python 程式碼完全一樣。IPython notebook 已被改名,因為 notebook 變得與程式語言無關。新的名稱 Jupyter 由 Julia、Python 和 R 組合而成。如果有興趣,不妨看看可用核心的列表。

另一個優點是,你可以在任何地方執行 notebook 伺服器,並且可通過網際網路訪問伺服器。通常,你會在儲存所有資料和 notebook 檔案的自有計算機上執行伺服器。但是,你也可以在遠端計算機或雲實例(如 Amazon 的 EC2)上設定伺服器。之後,你就可以在世界上任何地方通過瀏覽器訪問 notebook。

二、jupyter notebook的安裝和配置

1. 安裝

安裝非常簡單,只需要在終端輸入:

pip install jupyter

開啟jupyter notebook 也只需要在終端輸入:

jupyter notebook

執行上面的命令之後,你將看到類似下面這樣的輸出:

jupyter notebook快速入門及使用詳解

如上圖,它打開了一個埠,並且會在你的瀏覽器中開啟這個頁面,主目錄是圖中的那個directory(可能第一次開啟沒有這個目錄)。

2、配置

jupyter notebook --generate-config 

開啟“C:\Users\Administrator\.jupyter”資料夾,可以看到裡面有個配置檔案。

jupyter notebook快速入門及使用詳解

修改jupyter_notebook_config.py配置檔案

開啟這個配置檔案,找到“c.NotebookApp.notebook_dir=……”,把路徑改成自己的工作目錄。

jupyter notebook快速入門及使用詳解

配置檔案修改完成後, 以後在jupyter notebook中寫的程式碼等都會儲存在自己建立的目錄中。

jupyter notebook的自定義啟動(變了)
  配置檔案修改成後,就可以啟動jupyter notebook了,命令列視窗中輸入jupyter notebook,
  預設瀏覽器就會開啟一個頁面

jupyter notebook的啟動
  命令列視窗輸入:jupyter notebook

jupyter notebook快速入門及使用詳解

三、使用

1、開啟一個新文件

在主頁面的右上角點new即可新建一個你想要的檔案型別。

jupyter notebook快速入門及使用詳解

如上圖,jupyter也可以開啟一個terminal,還可以作為一個text文字編輯器,功能明顯是比terminal強大了。

下面的Notebooks型別除了python 也是可以加入其他型別的文件的,具體方法百度一下就好。

2、python編輯器介紹

點選python2後會出現一下介面:

jupyter notebook快速入門及使用詳解

稍微介紹一下notebook 介面的組成部分1)notebook 的名稱2)主工具欄提供了儲存、匯出、過載 notebook,以及重啟核心等選項3)快捷鍵4)notebook 編輯區

最下面的哪個 In [ ]: 的框叫做單元格,你可以把你的程式碼分成一段段的單元格輸入,然後可以逐個單元格地執行。注意,這個功能是非常友好的,有時候只修改了中間的一小段程式碼,又不想全部程式碼都要重新執行的時候這個功能就非常有用了。另外,單元格是可以改變順序的。而且可以輸出圖片和繪圖!非常強大吧!

這些只要稍微嘗試一下就懂的,下面主要介紹一些常用的技巧

**注意,jupyter notebook 是支援 TAB 鍵自動補充單詞的,再一次展示了其強大友好的一面!

(1).修改文件名稱

jupyter notebook快速入門及使用詳解

方法一:點上圖的Untitled

方法二:點File,再點rename

(2).匯出文件

步驟:點File,再點Download as

jupyter notebook快速入門及使用詳解

發現裡面支援好幾種格式的匯出,第一個ipynb是notebook的格式,是一種類json的格式儲存,其他的建議你們都試一試,你會感到非常驚喜的。

(3).儲存

Ctrl + S 快捷鍵的可以儲存你的文件的,預設是儲存為ipynb,儲存在你的主目錄下!

(4).單元格格式

注意到快捷鍵欄中有一個code的下拉框,點開發現有幾個選項:

jupyter notebook快速入門及使用詳解

這裡介紹一下

  • Code格式就是正常的python程式碼格式
  • Markdown的一個text文件編輯格式,就像在word裡編寫一樣
  • Heading就是給Markdown的句子設定標題等級,像word的標題一,標題二...
  • Raw NBConvert 沒用過不了解,可以自行百度或者看官網介紹

下面舉例說明一下

選擇一個空的單元格,code下拉框選擇Heading,會出現一個不同型別的 cell:

jupyter notebook快速入門及使用詳解

改變單元格型別時彈出訊息中有解釋,後面那個單元格以 # 標記開頭,意味著這是一個一級標題。如果需要子標題,可以使用以下標記表示:

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

輸入內容後再執行一下(快捷欄裡有),會出現類似下面的情況:

jupyter notebook快速入門及使用詳解

我一共輸入了三級標題,點其中一個,你會發現它的code下拉欄顯示是markdown型別

你以後程式碼裡print 的內容都是以markdown的格式顯示的。

(5).快捷鍵

常用的快捷鍵是:

  • Ctrl + Enter: 執行單元格程式碼
  • Shift + Enter: 執行單元格程式碼並且移動到下一個單元格
  • Alt + Enter: 執行單元格程式碼,新建並移動到下一個單元格

這幾個快捷鍵都是非常常用的。

(6).歷史輸入和輸出變數

與標準 Shell 類似,IPython 中也可以通過 _ 和 _ _ 訪問上一次和上上一次的輸出。

當你寫的單元格多了,肯定會注意到,IPython 中每一次的輸入輸出都有序號。你可以通過一下方法訪問這些輸入和輸出:

  • _:訪問上一次輸出
  • __:訪問上上一次輸出
  • _X:訪問歷史 X 行輸出
  • _iX:訪問歷史 X 行輸入

其中小寫字母 “i”,代表 “in”。

四、外部功能

上面講的是jupyter 的一些使用方法和技巧,其實它還有很多強大的外部功能的,下面給大家介紹一下。

(1).魔術命令

在 IPython 的會話環境中,所有檔案都可以通過 %run 命令來當做指令碼執行,並且檔案中的變數也會隨即匯入當前名稱空間。

即,對於一個模組檔案,你對他使用 %run 命令的效果和 from module import * 相同

這種以 % 開頭的命令在 IPython 中被稱為魔術命令,用於加強 shell 的功能。

常用的魔術命令有:

%quickref 顯示 IPython 快速參考
%magic 顯示所有魔術命令的詳細文件
%debug 從最新的異常跟蹤的底部進入互動式偵錯程式
%pdb 在異常發生後自動進入偵錯程式
%reset 刪除 interactive 名稱空間中的全部變數
%runscript.py 執行script.py
%prunstatement 通過 cProfile 執行對statement的逐行效能分析
%timestatement 測試statement的執行時間
%timeitstatement 多次測試statement的執行時間並計算平均值
%who、%who_ls、%whos 顯示 interactive 名稱空間中定義的變數,資訊級別/冗餘度可變
%xdelvariable 刪除variable,並嘗試清除其在 IPython 中的物件上的一切引用
!cmd 在系統 shell 執行cmd
output=!cmd args 執行cmd並賦值
%bookmark 使用 IPython 的目錄書籤系統
%cddirecrory 切換工作目錄
%pwd 返回當前工作目錄(字串形式)
%env 返回當前系統變數(以字典形式)

對魔術命令不熟悉的話可以通過 %magic 檢視詳細文件;對某一個命令不熟悉的話,可以通過 %cmd? 內省機制檢視特定文件

(2).新增外掛

a)側邊欄目錄導航

jupyter notebook快速入門及使用詳解

當文章內容非常長的時候,前後找內容,很麻煩,不如加一個sidebar,方便導航方法:https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/nbextensions/usability/toc2

b)隱藏程式碼按鈕

有時候,希望程式碼可以隱藏,這樣子文件看起來,就會乾淨一些

jupyter notebook快速入門及使用詳解

點選按鈕,就可以隱藏所有的程式碼,具體做法:http://stackoverflow.com/questions/27934885/how-to-hide-code-from-cells-in-ipython-notebook-visualized-with-nbviewer當然,還有更多的extention可見https://github.com/ipython-contrib/IPython-notebook-extensions/

參考【https://www.douban.com/review/7890354/】

(3).執行python檔案

利用jupyter的cell是可以執行python檔案的。

方法一:

%run file.py

方法二:在unitx command前面加入一個感嘆號“!” ,如:

!python myfile.py

(4).匯入外部程式碼

比如有一個test.py檔案,需要將其載入到jupyter的一個cell中

在需要匯入該段程式碼的cell中輸入

%load test.py #test.py是當前路徑下的一個python檔案

shift + enter執行後,%load test.py被自動加入了註釋符號#,test.py中的所有程式碼都被load到了當前的cell中

或者從從網路load程式碼到jupyter

在cell中輸入%load http://.....,然後執行該cell,就會將load後面所對應地址的程式碼load到當前的cell中;

(5).自定義快捷鍵

參考官方文件:

http://nbviewer.jupyter.org/github/ipython/ipython/blob/3.x/examples/Notebook/Custom%20Keyboard%20Shortcuts.ipynb

參考

【1】官網安裝:https://jupyter.readthedocs.io/en/latest/install.html

【2】jupyter使用小結

【3】Jupyter Notebook 快速入門(上)

【4】jupyter notebook 各種用法記錄(陸續更新)

【5】https://blog.csdn.net/lee_j_r/article/details/52791228

【6】http://www.cnblogs.com/zlslch/p/6984403.html