目錄
    Add a header to begin generating the table of contents

    VSCode 5/5: Jupyter Notebook 互動編程?實在太方便了

    VSCode 5/5: Jupyter Notebook 互動編程?實在太方便了
    Share on facebook
    Share on twitter
    Share on linkedin
    Share on whatsapp
    目錄
      Add a header to begin generating the table of contents

      來到 Visual Studio Code 新手教學的尾聲,我們當然要來說說非常熱門的 Jupyter Notebook 在 VS Code 的應用。

      VS Code 的 Jupyter Notebook 比較進階。如果您從未接觸過 Jupyter Notebook 或 Python,可以考慮先跟從免安裝的 Google Colab Notebook(也是 Jupyter Notebook 的化身)的以下教學,學會 Python 基本技能。

      第 1 步:設定虛擬環境

      如同我們先前的 VS Code 教學一樣,我們在編程以先,會設定一個虛擬環境(Virtual Environment),以免我們的 Python 專案與其他的專案不兼容。

      如果您不知道如何安裝並設置虛擬環境,請先閱讀這篇:VSCode 2/5: 設定虛擬環境(Virtual Env), 管理 Python 專案!

      這裡我們假設您已經跟我們的教學一樣設定「vscode-example」的檔案夾,並設立和選取「.venv」的虛擬環境。按一下 Command + Shift + P 輸入「Python: Create Terminal」後,您應該見到如下版面:

      我是廣告 ^o^

      第 2 步:啟用 Jupyter Notebook

      設定了虛擬環境後,我們按一下 Command + Shift + P 開啟 Command Palette,並輸入和選擇「Jupyter: Create New Blank Notebook」。

      VS Code 應該會開啟新的視窗,名為「Untitled-1.ipynb」。這是我們的 Jupyter Notebook 檔案。

      我們現在嘗試啟用 Jupyter Notebook 的功能。在下圖「3」的位置輸入以下的代碼,然後按「4」裡面的播放鍵運行代碼。

      print('Hello, world')

      隨後我們會見到 VS Code 要求我們選擇核心(kernel)。核心(kernel)是選擇我們使用哪個版本的 Python 和哪個虛擬環境。我們選擇在第 1 步建立的「.venv」。

      選擇了「.venv」作為我們的核心後,我們會見到以下的請求。這是由於 Jupyter Notebook 需要額外的 Python libraries 去支援全部功能。

      我是廣告 ^o^

      我們按一下「Install」讓 VS Code 安裝所需的 Library。

      完成以後,我們會見到一個新的 Python Terminal 彈出,VS Code 並提醒我們它正在安裝「ipykernel」,即 Jupyter Notebook 所需的 Python libraries。

      稍等一會後,會看到 Jupyter Notebook 的插件成功安裝,而在我們原先的 print('Hello, world') 以下會看到:

      • 運作時間,0.4s 代表代碼運行了 0.4 秒)
      • 白色的「Hello, world」,即我們剛才運行的 Python 輸出

      第 3 步:安裝並使用 Library(例如 pandas)

      與先前的 VS Code 教學提及的一樣,我們使用 pip installer 安裝所需的 library,例如 pandas、plotly、NLTK 等。透過 pip 安裝的 library 能夠在 Jupyter Notebook 裡使用。

      首先我們在 Python Terminal 輸入以下指令,安裝 pandas 和 plotly 兩個 library。注意,我們應該在左邊見到「.venv」的字眼,提醒我們正在使用虛擬環境。

      我是廣告 ^o^
      pip install pandas plotly

      見到「Successfully installed …. pandas-1.3.1」後,我們按一下在「print(‘Hello, world’)」的垃圾桶(下圖「1」)。這讓我們可以移除不需要的編程框。

      把滑鼠放到「2」的位置,並按一下「+ Code」,可以開啟一個新的編程框。

      在「3」的位置貼上以下代碼,然後按「4」位置的播放鍵:

      import pandas as pd
      pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})

      完成後,您會見到在輸出的位置出現一個小小的表格。這也是 Jupyter Notebook 強大之處:我們可以在每個編程框後直接看到編程的輸出,方便用於處理數據圖表等。

      第 3 步:使用變數(Variable)瀏覽器

      接下來我們學習一下使用 VS Code 裡的 Jupyter Notebook 非常重要的一個功能。

      我是廣告 ^o^

      在剛才的編程框下,我們先按一下「+ Code」,然後輸入以下代碼,並按一下播放鍵。完成後,按一下上方的「Variables」:

      a = 10
      b = a * 20
      c = '這是文字'
      d = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})

      完成後您會見到在本來 Python Terminal 的位置出現了「JUPYTER: VARIABLES」的視窗。

      這就是我們的變數(Variable)瀏覽器。我們剛才定義了的 a, b, c, d 皆是 Python 的變數(更準確來說是物件 Object)。而變數瀏覽器讓我們可以快速查看我們的變數值(value)和類型(type)。

      這對我們的編程十分有幫助,因為我們可以在完成一段代碼後,查看我們定義的變數值是什麼。

      留意 d 是一個 pandas dataframe。按一下「5」下方的連結按鈕。

      我是廣告 ^o^

      對於 pandas dataframe 或其他類似表格(table)的變數,VS Code Jupyter 的變數瀏覽器還能讓您如同使用 Excel 試算表一樣,進行簡單的排序(sorting)、篩選(filtering),讓您可以與 pandas dataframe 互動。

      第 4 步:匯出至 Python 檔案或 HTML 檔案

      完成 Jupyter Notebook 編程後,自然地我們會有 2 個選擇:

      1. 把 Jupyter Notebook 匯出成 PDF 或 HTML 檔案,儲存為報告
      2. 把編程結果匯出成 .py 檔案,讓我們可以使用 Terminal 運作代碼

      匯出成 HTML

      首先我們按一下右上方的「Export」:

      選擇 HTML 後,螢幕會彈出「儲存為…」的小視窗。把檔案稱為「example.html」。

      如果屏幕下方出現「Export failed…」的字句,按一下「output」以查看出錯的原因。

      我是廣告 ^o^

      如上圖橘色框顯示,我們未有安裝 nbconvert 這個專用於匯出 Jupyter Notebook 的 Library。

      我們到 Python Terminal 輸入以下指令安裝 nbconvert。記得檢查自己是否正在使用「.venv」的虛擬環境(如下圖橘色框)。如您不記得如何安裝 Library,可以按這裡參考:VSCode 4/5: 讓 pip 安裝和管理 Python Libraries,結合虛擬環境!

      pip install nbconvert

      完成安裝 nbconvert 後,在從上面 Export 的步驟再按一遍。這次我們會見到 VS Code 詢問我們是否希望開啟匯出的檔案。按一下「Yes」。

      VS Code 會在我們的 vscode-example 檔案夾生成名為「example.html」的檔案。在 Google Chrome 開啟的樣子如下。

      匯出成 .py 檔案

      匯出成 .py 檔案後,可以使用 VS Code 獨有的 Jupyter Interactive 功能。我們在下篇有關 Jupyter Interactive 的教學裡詳談。

      我是廣告 ^o^

      結語

      總結一下我們在 5 篇 VS Code 教學的內容,我們從安裝 VS Code 到安裝虛擬環境和使用 pip 後,成功用 VS Code 製作出我們第 1 個 Jupyter 檔案。

      希望您喜歡我們的教學!

      人氣文章

      快讓我學更多

      small_c_popup.png
      想學習 Python 嗎?
      快來訂閱我們的電子報!