Jupyter notebook快速入門教程

reference:https://blog.csdn.net/zhusongziye/article/details/80370143

Jupyter Notebook介紹、安裝及使用教程

Jupyter Notebook入門教程

 

本篇將給大家介紹一款超級好用的工具:Jupyter notebook

爲什麼要介紹這款工具呢?

如果你想使用Python學習數據分析或數據挖掘,那麼它應該是你第一個應該知道並會使用的工具,它很容易上手,用起來非常方便,是個對新手非常友好的工具。而事實也證明它的確很好用,在數據挖掘平臺 Kaggle 上,使用 Python 的數據愛好者絕大多數使用 jupyter notebook 來實現分析和建模的過程,因此,如果你想學習機器學習,數據挖掘,那麼這款軟件你真的應該瞭解一下。

本篇博主總結了關於Jupyter notebook的一些關鍵點,幫助大家快速瞭解並使用它。

什麼是Jupyter notebook?

Jupyter notebook 是一種 Web 應用,它能讓用戶將說明文本、數學方程、代碼和可視化內容全部組合到一個易於共享的文檔中,非常方便研究和教學。在原始的 Python shell 與 IPython 中,可視化在單獨的窗口中進行,而文字資料以及各種函數和類腳本包含在獨立的文檔中。但是,notebook 能將這一切集中到一處,讓用戶一目瞭然。

Jupyter notebook特別適合做數據處理,其用途可以包括數據清理和探索、可視化、機器學習和大數據分析。

Jupyter notebook是如何工作的?

Jupyter notebook 源於 Fernando Perez 發起的 IPython 項目。IPython 是一種交互式 shell,與普通的 Python shell 相似,但具有一些更高級的功能,例如語法高亮顯示和代碼補全,還有一些 magic 操作,十分方便。Jupyter notebook 將 IPython 做成了一種 Web 應用,我們可以通過它的基本架構更清楚的瞭解:

可以看到,這裏的核心是 notebook 的服務器。用戶通過瀏覽器連接到該服務器,而 notebook 呈現爲 Web 應用。用戶在 Web 應用中編寫的代碼通過該服務器發送給內核,內核運行代碼,並將結果發送回該服務器。然後,任何輸出都會返回到瀏覽器中。保存 notebook 時,它將作爲 JSON 文件(文件擴展名爲 .ipynb)寫入到該服務器中。

此架構的一個優點是,內核無需運行 Python。由於 notebook 和內核分開,因此可以在兩者之間發送任何語言的代碼。例如,早期的兩個非 Python 內核分別是 R 語言和 Julia 語言。使用 R 內核時,用 R 編寫的代碼將發送給執行該代碼的 R 內核,這與在 Python 內核上運行 Python 代碼完全一樣。IPython notebook 已被改名,因爲 notebook 變得與編程語言無關。新的名稱 Jupyter 由JuliaPython 和 R 組合而成。

安裝Jupyter notebook

最簡單的方法就是使用 Anaconda,其發行版附帶了 Jupyter notebook。

在 conda 環境下安裝 Jupyter notebook 可以使用 conda install jupyter notebook。當然,也可以通過 pip 來安裝 pip install jupyter notebook

啓動 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,可以通過選中文件,點擊 "shutdown" 來操作操作,但請確認先保存:

通過在終端中按兩次 Ctrl + C,可以關閉整個服務器。

 

notebook 界面

notebook 界面由基本的單元格組成,每個單元格在可編輯狀態下可以任意的輸入代碼和註釋說明(markdown)。默認的是代碼格式,也就是下圖中工具欄列表所示的 code

單元格 綠色 代表內容可編輯狀態(比如輸入代碼),藍色 代表單元格可操作狀態(比如刪除單元格,必須回到藍色),而藍色與綠色之間可以用Esc 和 Enter 來切換。

Kernel 的小圓圈在空閒狀態下是空的,而當運行代碼時,會被填滿,所以可以通過觀察 Kernel 的狀態觀察程序是否運行完成。

 

代碼單元格

notebook 中的大部分工作均在代碼單元格中完成。編寫和執行代碼都在這裏,就像我們平時在 IDE 軟件裏敲代碼一樣,給變量賦值、定義函數和類、導入包等。執行單元格代碼可以通過 Shift + Enter 來完成。下面是一個示例:

 

 

Markdown 單元格

Markdown 是格式化語法,可以加入鏈接、將文本樣式設爲粗體或斜體和設置代碼格式。像代碼單元格一樣,按 Shift + Enter 或 Ctrl + Enter 可運行 Markdown 單元格,這會將 Markdown 呈現爲格式化文本。

Markdown 在這裏就不詳細介紹了,如果不清楚可以查看官網:http://www.markdown.cn/。下面是一個 Markdown 的示例:

 

快捷鍵

notebook 自帶一組快捷鍵,能讓你快速使用鍵盤與單元格交互,而無需使用鼠標和工具欄。熟悉這些快捷鍵需要花費一點時間,但如果能熟練掌握,將大大加快你在 notebook 中的工作速度。所有的快捷鍵就不在這裏展示了,因爲這些快捷鍵可以通過單元格 藍色 狀態下按 "h" 來查看:

 

Magic 關鍵字

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 關鍵字的使用,這裏只列出了兩個常用的介紹給大家。更多內容請參考:http://ipython.readthedocs.io/en/stable/interactive/magics.html

總結

通過本篇,相信你已經瞭解並知道如何使用 Jupyter notebook 了,但是還需要一些實際的操作才能更熟練的使用它,包括一些快捷鍵的使用。

https://jupyter.readthedocs.io/en/latest/content-quickstart.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章