做者:xiaoyuhtml
微信公衆號:Python數據科學python
知乎:python數據分析師web
本篇將給你們介紹一款超級好用的工具:Jupyter notebook
。shell
爲何要介紹這款工具呢?編程
若是你想使用Python
學習數據分析或數據挖掘,那麼它應該是你第一個應該知道並會使用的工具,它很容易上手,用起來很是方便,是個對新手很是友好的工具。而事實也證實它的確很好用,在數據挖掘平臺 Kaggle
上,使用 Python 的數據愛好者絕大多數使用 jupyter notebook
來實現分析和建模的過程,所以,若是你想學習機器學習,數據挖掘,那麼這款軟件你真的應該瞭解一下。後端
本篇博主總結了關於Jupyter notebook
的一些關鍵點,幫助你們快速瞭解並使用它。瀏覽器
Jupyter notebook
是一種 Web 應用,它能讓用戶將說明文本、數學方程、代碼和可視化內容所有組合到一個易於共享的文檔中,很是方便研究和教學。在原始的 Python shell 與 IPython 中,可視化在單獨的窗口中進行,而文字資料以及各類函數和類腳本包含在獨立的文檔中。可是,notebook 能將這一切集中到一處,讓用戶一目瞭然。服務器
Jupyter notebook
特別適合作數據處理,其用途能夠包括數據清理和探索、可視化、機器學習和大數據分析。微信
Jupyter notebook
源於 Fernando Perez 發起的 IPython
項目。IPython 是一種交互式 shell,與普通的 Python shell 類似,但具備一些更高級的功能,例如語法高亮顯示和代碼補全,還有一些 magic 操做,十分方便。Jupyter notebook 將 IPython 作成了一種 Web 應用,咱們能夠經過它的基本架構更清楚的瞭解:markdown
JSON
文件(文件擴展名爲
.ipynb
)寫入到該服務器中。
此架構的一個優勢是,內核無需運行 Python。因爲 notebook 和內核分開,所以能夠在二者之間發送任何語言的代碼。例如,早期的兩個非 Python 內核分別是 R 語言和 Julia 語言。使用 R 內核時,用 R 編寫的代碼將發送給執行該代碼的 R 內核,這與在 Python 內核上運行 Python 代碼徹底同樣。IPython notebook 已被更名,由於 notebook 變得與編程語言無關。新的名稱 Jupyter 由 Julia
、Python
和 R
組合而成。
最簡單的方法就是使用 Anaconda
,其發行版附帶了 Jupyter notebook。
在 conda 環境下安裝 Jupyter notebook 可使用 conda install jupyter notebook
。固然,也能夠經過 pip
來安裝 pip install jupyter notebook
。
啓動 notebook 很簡單,只須要在終端環境下輸入 jupyter notebook
, 服務器就會在當前操做的目錄下啓動。固然你能夠創建一些專門用來運行 notebook 的文件夾,尤爲對於不一樣的 Python版本以及一些項目(後面會提到)。
啓動後,默認的 notebook 服務器的運行地址是 http://localhost:8888
。只要 notebook 服務器仍在運行,你隨時都能經過在瀏覽器中輸入 http://localhost:8888
返回到 web 頁面中。
能夠經過點擊 「New」 建立新的 notebook、文本文件、文件夾或終端。
「Notebook」下的列表顯示了已安裝的內核。這個示例中能夠看到版本是 Python 2.7
,所以列出了 Python 2.7 內核。固然,若是你同時安裝了其它內核好比 Python 3
,那麼它也會在列表中同時出現。這又是 notebook 的另外一大好處,就是能夠同時管理多個版本,當你同時須要 Python 2 和 Python 3,或者 Scala 2.10 和 2.11 的內核的時候,是十分方便的。
而對於關閉 notebook,能夠這樣操做:
notebook 界面由基本的單元格組成,每一個單元格在可編輯狀態下能夠任意的輸入代碼和註釋說明(markdown)。默認的是代碼格式,也就是下圖中所示的 code
。
Esc
和
Enter
來切換。
Kernel
的小圓圈在空閒狀態下是空的,而當運行代碼時,會被填滿,因此能夠經過觀察 Kernel
的狀態觀察程序是否運行完成。
notebook 中的大部分工做均在代碼單元格中完成。編寫和執行代碼都在這裏,就像咱們平時在 IDE 軟件裏敲代碼同樣,給變量賦值、定義函數和類、導入包等。執行單元格代碼能夠經過 Shift + Enter
來完成。下面是一個示例:
Markdown
是格式化語法,能夠加入連接、將文本樣式設爲粗體或斜體和設置代碼格式。像代碼單元格同樣,按 Shift + Enter
或 Ctrl + Enter
可運行 Markdown 單元格,這會將 Markdown 呈現爲格式化文本。
Markdown
在這裏就不詳細介紹了,若是不清楚能夠查看官網:www.markdown.cn/。下面是一個 Markdown
的示例:
notebook 自帶一組快捷鍵,能讓你快速使用鍵盤與單元格交互,而無需使用鼠標和工具欄。熟悉這些快捷鍵須要花費一點時間,但若是能熟練掌握,將大大加快你在 notebook 中的工做速度。全部的快捷鍵就不在這裏展現了,由於這些快捷鍵能夠經過單元格 藍色 狀態下按 "h"
來查看:
Magic關鍵字
是 IPython 的一些高級用法,能夠運行特殊的命令,而後控制 notebook。例如,在 notebook 中可使用 %matplotlib
將 matplotlib 設置爲以交互方式工做。
Magic 命令的前面帶有一個或兩個百分號(%
或 %%
),分別表明行 Magic 命令和單元格 Magic 命令。行 Magic 命令僅應用於編寫 Magic 命令時所在的行,而單元格 Magic 命令應用於整個單元格。
若是要測算整個單元格的運行時間,請使用 %%timeit
,以下所示:
若是要在 notebook 中嵌入可視化內容,能夠說使用 %matplotlib inline
,以下所示:
默認狀況下,圖形呈如今各自的窗口中。可是,你能夠經過命令傳遞參數,以選擇特定的「後端」(呈現圖像的軟件)。要直接在 notebook 中呈現圖形,應將經過命令 %matplotlib inline
內聯後端一塊兒使用。
提示:在分辨率較高的屏幕(例如 Retina 顯示屏)上,notebook 中的默認圖像可能會顯得模糊。能夠在 %matplotlib inline 以後使用
%config InlineBackend.figure_format = 'retina'
來呈現分辨率較高的圖像。
固然,還有不少 Magic 關鍵字的使用,這裏只列出了兩個經常使用的介紹給你們。更多內容請參考:ipython.readthedocs.io/en/stable/i…
經過本篇,相信你已經瞭解並知道如何使用 Jupyter notebook
了,可是還須要一些實際的操做才能更熟練的使用它,包括一些快捷鍵的使用,公衆號後臺回覆 "notebook快捷鍵" 可獲取一份練習快捷鍵的輔助材料。
關注微信公衆號Python數據科學,獲取 120G
人工智能 學習資料。