Python神器 Jupyter Notebook

什麼是Jupyter Notebook?

簡介

Jupyter Notebook是基於網頁的用於交互計算的應用程序。其可被應用於全過程計算:開發、文檔編寫、運行代碼和展現結果。html

Jupyter Notebook官方python

簡而言之,Jupyter Notebook是以網頁的形式打開,能夠在網頁頁面中直接編寫代碼和運行代碼,代碼的運行結果也會直接在代碼塊下顯示。如在編程過程當中須要編寫說明文檔,可在同一個頁面中直接編寫,便於做及時的說明和解釋。web

組成部分

1,網頁應用

網頁應用即基於網頁形式的、結合了編寫說明文檔、數學公式、交互計算和其餘富媒體形式的工具。簡言之,網頁應用是能夠實現各類功能的工具。編程

2,文檔

即Jupyter Notebook中全部交互計算、編寫說明文檔、數學公式、圖片以及其餘富媒體形式的輸入和輸出,都是以文檔的形式體現的。瀏覽器

Jupyter Notebook的主要特色

  1. 編程時具備語法高亮、縮進、tab補全的功能。服務器

  2. 可直接經過瀏覽器運行代碼,同時在代碼塊下方展現運行結果。markdown

  3. 對代碼編寫說明文檔或語句時,支持Markdown語法。機器學習

如何安裝Jupyter Notebook?

Jupyter Notebook原來也叫iPython Notebook,顧名思義,它和Python關係緊密。若是要在PC上安裝筆記本,首先你要確保本身已經安裝了Python(2.7/3.3或更高),這是必備條件。編程語言

1,Anaconda

官方在文檔中強烈建議新用戶用Anaconda打包安裝Python和Anaconda——所謂懶人方法,小白必備。其實除了提到的兩個工具,Anaconda還包含數據科學和機器學習中常常須要用到的各類軟件包,只需下載、解壓、安裝,全部工具就都一步到位了。編輯器

下載地址:https://jupyter.readthedocs.io/en/latest/install.html

安裝好後檢查有沒有加下面的環境變量:

2,pip

若是你很欣賞本身,或者由於某些因素就是不想用Anaconda,你也能夠用pip。固然首先,你得確保本身的機器上有pip的最新版本。

# Linux和OSX

pip install -U pip setuptools

# Windows

python -m pip install -U pip setuptools

而後,安裝Jupyter Notebook:
#Python2用戶看這裏

pip install jupyter

#Python3用戶不要跑

pip3 install jupyter

運行Jupyter Notebook

幫助

若是你有任何jupyter notebook命令的疑問,能夠考慮查看官方幫助文檔,命令以下:

jupyter notebook --help
#
jupyter notebook -h

啓動

默認端口啓動

在終端中輸入如下命令:

jupyter notebook

執行命令以後,在終端中將會顯示一系列notebook的服務器信息,同時瀏覽器將會自動啓動Jupyter Notebook。

啓動過程當中終端顯示內容以下:

$ jupyter notebook
[I 21:58:24.417 NotebookApp] Serving notebooks from local directory: /Users/catherine
[I 21:58:24.417 NotebookApp] 0 active kernels
[I 21:58:24.417 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 21:58:24.417 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

注意:以後在Jupyter Notebook的全部操做,都請保持終端不要關閉,由於一旦關閉終端,就會斷開與本地服務器的連接,你將沒法在Jupyter Notebook中進行其餘操做啦。

瀏覽器地址欄中默認地將會顯示:http://localhost:8888。其中,「localhost」指的是本機,「8888」則是端口號。

若是你同時啓動了多個Jupyter Notebook,因爲默認端口「8888」被佔用,所以地址欄中的數字將從「8888」起,每多啓動一個Jupyter Notebook數字就加1,如「8889」、「8890」……

指定端口啓動

若是你想自定義端口號來啓動Jupyter Notebook,能夠在終端中輸入如下命令:

jupyter notebook --port <port_number>

其中,「<port_number>」是自定義端口號,直接以數字的形式寫在命令當中,數字兩邊不加尖括號「<>」。如:jupyter notebook --port 9999,即在端口號爲「9999」的服務器啓動Jupyter Notebook。

啓動服務器但不打開瀏覽器

若是你只是想啓動Jupyter Notebook的服務器但不打算馬上進入到主頁面,那麼就無需馬上啓動瀏覽器。在終端中輸入:

jupyter notebook --no-browser

此時,將會在終端顯示啓動的服務器信息,並在服務器啓動以後,顯示出打開瀏覽器頁面的連接。當你須要啓動瀏覽器頁面時,只須要複製連接,並粘貼在瀏覽器的地址欄中,輕按回車變轉到了你的Jupyter Notebook頁面。

例圖中因爲在完成上面內容時我同時啓動了多個Jupyter Notebook,所以顯示個人「8888」端口號被佔用,最終分配給個人是「8889」。

用法

若是你想新建一個筆記本,單擊面板右側的「New」,它會跳出4個選項

Python 3

Text File

Folder

Terminal

選擇Text File後,你會獲得一個空白的頁面。它至關於一個文本編輯器(相似於Ubuntu上的應用程序),你能夠在上面輸入任何字母、單詞和數字,因此選擇好編程語言後,你是能夠在上面寫腳本的。此外,它還提供查找和替換文件中的單詞的功能。

選擇Folder後,你實際上是在編輯文件夾列表。你能夠建立一個新文件夾,把所需文檔放進裏面,或者修改它的名稱、直接把它刪除。

而Terminal的工做方式和Mac、Linux計算機上的Terminal同樣,都是在Web瀏覽器中建立終端支持。只需在終端輸入Python,一個Python腳本就寫好了。

導入最多見的Python庫來啓動筆記本,如pandas和numpy。在代碼上方的菜單中,那些圖標依次表示添加、編輯、剪切、向上移動cell、向下移動cell、運行代碼、中止運行和撤銷。

這個下拉的列表提供了四個選項:

Code:這個不言自明,就是你寫代碼的地方;

Markdown:很是常見的輕量級標記語言,用來爲代碼添加註釋和結論;

Raw NBConvert:一個命令行工具,能夠把你的筆記本轉換成另外一種格式,如HTML;

Heading:添加標題,使你的文檔看起來更乾淨整潔,它如今已經變成Markdown裏的一個語法,用兩個#表示。

快捷鍵

  • 向上插入一個cell:a
  • 向下插入一個cell:b
  • 刪除cell:x
  • 將code切換成markdown:m
  • 將markdown切換成code:y
  • 運行cell:shift+enter
  • 查看幫助文檔:shift+tab
  • 自動提示:tab

魔法指令

做爲iPython的繼承者,開發人員已經在Jupyter Notebook中加入預約義的魔術命令(magic function)。這是一種增長便捷性和互動性的工具,若是要查看命令列表,你能夠輸入(注:一般不須要「%」):

  %lsmagic

當看到那一串函數列表時,也許你能從中認出幾張老面孔,如%clear、%autosave、%debug和%mkdir。只要你之前寫過代碼,這些函數就幾乎是不可避免的。

在Jupyter Notebook中,魔術命令有兩種運行方式,一是Line-wise,而是Cell-wise。顧名思義,Line-wise就是當你想執行一個命令行的時候須要用到的,而Cell-wise面向的就不僅僅是一行了,它做用的是整個cell的代碼塊。

爲了區分兩種運行方式,若是是Line-wise,全部命令必須以%字符打頭;若是是Cell-wise,則用%%。

Line-wise:

  %time a = range(10)

Cell-wise:

  %%timeit a = range (10)

  min(a)

 

運行外部python源文件:%run xxx.py

計算statement的運行時間:%time statement

計算statement的平均運行時間:%timeit statement

測試多行代碼的平均運行時間:

  %%timeit

  statement1

  statement2

  statement3

相關文章
相關標籤/搜索