前言
對於交互式開發和呈現數據科學項目來說,Jupyter筆記本是一個非常強大的工具。本文將指導您如何在本地計算機上設置Jupyter筆記本,以及如何開始使用它來執行Python程序。
什麼是“筆記本(notebook)”?記事本將代碼及其輸出集成到一個文檔中,該文檔結合了可視化、敘述性文本、數學方程和其他富媒體。這種直觀的工作流程促進了迭代和快速的開發,使筆記本在當代數據科學、分析和越來越廣泛的科學的核心領域成為越來越受歡迎的選擇。
最重要的是,作為開源項目Jupyter的一部分,它們是完全免費的。
1.安裝Jupyter Notebook
Python中沒有包含Jupyter筆記本,所以如果您想試用它,您需要安裝Jupyter。
我們有兩種方法可以安裝Notebook:
你可以使用Python自帶的一個叫做pip的工具來安裝Jupyter Notebook,如下圖所示:
<code>$ pip install jupyter/<code>
Python的一個最流行的發行版是Anaconda。Anaconda有自己的安裝工具conda,可以用來安裝第三方包。然而,Anaconda預裝了許多科學包,包括Jupyter Notebook,所以你實際上不需要做任何事情,除了安裝Anaconda本身。
2.啟動Notebook
現在已經安裝了Jupyter Notebook,讓我們學習如何使用它。首先,你需要做的就是打開你的終端應用程序,進入你選擇的文件夾。我建議你從你的文檔文件夾開始,然後創建一個叫做“筆記本”的子文件夾,或者其他容易記住的文件夾。
然後到你終端的那個位置,運行以下命令:
<code>$ jupyter notebook/<code>
另外,使用Windows系統的用戶,可以找到快捷方式打開。例如,我是通過Anaconda安裝的Notebook,就可以按照下圖所示打開notebook
這將啟動Jupyter,您的默認瀏覽器應該啟動(或打開一個新選項卡)到以下URL: http://localhost:8888/tree
你的瀏覽器現在應該是這樣的:
3.建立一個筆記
既然您已經知道如何啟動一個記事本服務器,那麼您可能應該學習如何創建一個實際的記事本文檔。
您所需要做的就是單擊New按鈕(右上角),它將打開一個選項列表。在我的機器上,我碰巧安裝了python2和python3,所以我可以創建一個使用這兩種語言的筆記本。為了簡單起見,我們選擇python3。
你的網頁現在應該是這樣的:
4.命名
您將注意到在頁面的頂部是“Untitled”這個單詞。這是頁面的標題和筆記本的名稱。既然那不是一個描述性很強的名字,我們就把它改一下吧!
只需將鼠標移動到“無題(Untitled)”一詞上,然後單擊文本。您現在應該看到一個名為Rename Notebook的瀏覽器對話框。讓我們把這個重命名為Hello Jupyter:
5.運行cells
記事本的單元格(cell)默認在您首次創建代碼時使用代碼,並且該單元格使用您在啟動記事本時選擇的內核。
在本例中,您的內核是python3,這意味著您可以在代碼單元中編寫Python代碼。因為你最初的筆記本只有一個空單元格,所以它不能做任何事情。
因此,要驗證一切是否正常工作,可以向單元格添加一些Python代碼並嘗試運行其內容。
讓我們嘗試添加以下代碼到該單元格:
<code>print('Hello Jupyter!')/<code>
運行一個單元意味著您將執行單元的內容。要執行單元格,只需選擇單元格並單擊沿頂部按鈕行中的Run按鈕。它在中間。如果你喜歡用鍵盤,你可以直接按
Shift+Enter.
當我運行上面的代碼時,輸出如下:
如果您的筆記本中有多個單元格,並且按順序運行單元格,那麼您可以跨單元共享您的變量和導入。這使得將代碼分成邏輯塊變得很容易,而不需要重新導入庫或在每個單元中重新創建變量或函數。
當您運行一個單元格時,您會注意到在單元格左側的單詞旁邊有一些方括號。方括號將自動填充一個數字,該數字指示您運行單元格的順序。例如,如果您打開一個新的筆記本並運行筆記本頂部的第一個單元格,方括號將填充數字1。
6.添加豐富的內容
Jupyter Notebook支持添加豐富的內容到其單元格。在本節中,您將概述使用標記和代碼對單元格進行的一些操作。
cell類型
技術上有四種單元格類型:代碼、Markdown、Raw NBConvert和標題。
您已經瞭解了代碼單元格的工作方式,現在讓我們學習如何使用Markdown對文本進行樣式設置。
Jupyter Notebook支持Markdown,這是一種標記語言,是HTML的超集。設置一個新的單元格標記,然後添加以下文字到單元格:
當你運行cell,輸出應該是這樣的:
在Markdown中創建標頭也非常簡單。你只需要使用不起眼的#號。使用的#符號越多,標題越小。木星筆記本甚至可以為你預覽一下:
然後當你運行單元格時,你會得到一個格式良好的標題:
7.導出
當你使用Jupyter的時候,你會發現你需要和非技術人員分享你的成果。當這種情況發生時,您可以使用nbconvert工具,該工具與Jupyter筆記本一起提供,可以將您的筆記本轉換或導出為以下格式之一:
- HTML
- LaTeX
- RevealJS
- Markdown
- ReStructured Text
- Executable>
如何使用nbconvert
基本的轉換命令是這樣的:假設您有一個名為py_examples的筆記本。你想把它轉換成PDF格式。下面是你可以使用的命令:
<code>$ jupyter nbconvert py_examples.ipynb --to pdf/<code>
8.結語
Jupyter不僅對學習和教授Python等編程語言非常有用,而且對共享數據也非常有用。你可以把你的筆記本變成幻燈片,也可以和GitHub在線分享。如果你想共享一個筆記本而不需要你的用戶安裝任何東西,你可以使用活頁夾。
閱讀更多 機器學習與數據分析 的文章