🚀 在 VS Code 中

Data Wrangler 在 VS Code 入門指南

Data Wrangler 是一款以程式碼為中心的資料檢視和清理工具,已整合到 VS Code 和 VS Code Jupyter Notebook 中。它提供豐富的使用者介面來檢視和分析您的資料、顯示深入的資料行統計資料和視覺效果,並在您清理和轉換資料時自動產生 Pandas 程式碼。

以下範例說明如何從 Notebook 開啟 Data Wrangler,以使用內建作業分析和清理資料。然後,自動產生的程式碼會匯出回 Notebook 中。

a gif of opening Data Wrangler from a notebook, looking through the data, switching from Viewing to Editing mode, applying data transformations, and exporting the generated Python code back into the notebook

本文件涵蓋如何

  • 安裝和設定 Data Wrangler
  • 從 Notebook 啟動 Data Wrangler
  • 從資料檔案啟動 Data Wrangler
  • 使用 Data Wrangler 探索您的資料
  • 使用 Data Wrangler 對您的資料執行作業和清理
  • 編輯資料整理程式碼並匯出至 Notebook
  • 疑難排解和提供意見反應

設定您的環境

  1. 如果您尚未安裝 Python,請先安裝。重要事項: Data Wrangler 僅支援 Python 3.8 或更高版本。
  2. 安裝 Visual Studio Code
  3. 安裝 Data Wrangler 擴充功能

當您第一次啟動 Data Wrangler 時,它會詢問您想要連線到哪個 Python 核心。它也會檢查您的電腦和環境,以查看是否已安裝必要的 Python 套件,例如 Pandas。

以下是 Python 和 Python 套件的必要版本清單,以及 Data Wrangler 是否會自動安裝這些套件

名稱 最低必要版本 自動安裝
Python 3.8
pandas 0.25.2

如果您的環境中找不到這些相依性,Data Wrangler 將嘗試使用 pip 為您安裝它們。如果 Data Wrangler 無法安裝相依性,最簡單的解決方法是手動執行 pip install,然後再次啟動 Data Wrangler。這些相依性是 Data Wrangler 所需的,如此它才能產生 Python 和 Pandas 程式碼。

開啟 Data Wrangler

無論何時您在 Data Wrangler 中,您都處於沙箱環境中,這表示您可以安全地探索和轉換資料。原始資料集在您明確匯出變更之前不會修改。

從 Jupyter Notebook 啟動 Data Wrangler

有三種方法可以從 Jupyter Notebook 啟動 Data Wrangler

a screenshot showing the entry point into Data Wrangler from a notebook

  1. 在 [Jupyter] > [變數] 面板中,在任何支援的資料物件旁邊,您都可以看到啟動 Data Wrangler 的按鈕。
  2. 如果您的 Notebook 中有 Pandas 資料框架,您現在可以在執行輸出資料框架的程式碼後,在儲存格底部看到 [在 Data Wrangler 中開啟 'df'] 按鈕 (其中 'df' 是資料框架的變數名稱)。這包括 1) df.head()、2) df.tail()、3) display(df)、4) print(df)、5) df
  3. 在 Notebook 工具列中,選取 [檢視資料] 會顯示 Notebook 中每個支援的資料物件清單。然後您可以選擇要 Data Wrangler 中開啟的清單中的哪個變數。

直接從檔案啟動 Data Wrangler

您也可以直接從本機檔案 (例如 .csv) 啟動 Data Wrangler。若要執行此操作,請在 VS Code 中開啟任何包含您要開啟的檔案的資料夾。在檔案總管檢視中,以滑鼠右鍵按一下檔案,然後按一下 [在 Data Wrangler 中開啟]。

a screenshot showing the entry point into Data Wrangler from a file

Data Wrangler 目前支援下列檔案類型

  • .csv/.tsv
  • .xls/.xlsx
  • .parquet

根據檔案類型,您可以指定檔案的分隔符號和/或工作表。

a screenshot showing the parameters you can set in Data Wrangler when opening directly from a file

您也可以設定這些檔案類型預設以 Data Wrangler 開啟。

UI 導覽

Data Wrangler 在處理您的資料時有兩種模式。後續章節將說明每種模式的詳細資訊。

  1. 檢視模式: 檢視模式最佳化介面,讓您可以快速檢視、篩選和排序您的資料。此模式非常適合對資料集進行初始探索。
  2. 編輯模式: 編輯模式最佳化介面,讓您可以對資料集套用轉換、清理或修改。當您在介面中套用這些轉換時,Data Wrangler 會自動產生相關的 Pandas 程式碼,而且可以匯出回您的 Notebook 以供重複使用。

注意:依預設,Data Wrangler 會在檢視模式中開啟。您可以在 [設定編輯器] 中變更此行為。

a screenshot of the setting in Visual Studio Code for setting the default mode of Data Wrangler

檢視模式介面

a screenshot showing the different components in the UI for Data Wrangler in Viewing mode

  1. [資料摘要] 面板會顯示您的整體資料集或特定資料行 (如果已選取) 的詳細摘要統計資料。

  2. 您可以從資料行的標頭功能表套用任何資料行上的 [資料篩選器/排序]。

  3. 在 Data Wrangler 的 [檢視] 或 [編輯] 模式之間切換,以存取內建資料作業。

  4. [快速深入解析] 標頭是您可以快速查看每個資料行的寶貴資訊的地方。根據資料行的資料類型,快速深入解析會顯示資料的分佈或資料點的頻率,以及遺失值和相異值。

  5. [資料網格] 提供可捲動的窗格,您可以在其中檢視整個資料集。


編輯模式介面

切換到編輯模式會在 Data Wrangler 中啟用其他功能和使用者介面元素。在下列螢幕擷取畫面中,我們使用 Data Wrangler 將最後一欄中的遺失值取代為該欄的中位數。

a screenshot showing the different components in the UI for Data Wrangler in Editing mode

  1. [作業] 面板是您可以搜尋所有 Data Wrangler 內建資料作業的地方。作業依類別組織。

  2. [清理步驟] 面板會顯示先前已套用的所有作業清單。它可讓使用者復原特定作業或編輯最近的作業。選取步驟會醒目提示資料差異檢視中的變更,並顯示與該作業相關聯的產生程式碼。

  3. [匯出功能表] 可讓您將程式碼匯出回 Jupyter Notebook,或將資料匯出到新檔案。

  4. 當您選取作業並預覽其對資料的影響時,網格會覆蓋您對資料所做變更的資料差異檢視。

  5. [程式碼預覽] 區段會顯示 Data Wrangler 在選取作業時產生的 Python 和 Pandas 程式碼。未選取任何作業時,它會保持空白。您可以編輯產生的程式碼,這會導致資料網格醒目提示資料的影響。

Data Wrangler 作業

內建 Data Wrangler 作業可以從 [作業] 面板中選取。

a screenshot of the Data Wrangler Operations panel

下表列出 Data Wrangler 初始版本中目前支援的 Data Wrangler 作業。我們計劃在不久的將來新增更多作業。

作業 描述
排序 將資料行排序為遞增或遞減
篩選 根據一或多個條件篩選資料列
計算文字長度 建立新的資料行,其值等於文字資料行中每個字串值的長度
獨熱編碼 將類別資料分割成每個類別的新資料行
多標籤二元化 使用分隔符號將類別資料分割成每個類別的新資料行
從公式建立資料行 使用自訂 Python 公式建立資料行
變更資料行類型 變更資料行的資料類型
捨棄資料行 刪除一或多個資料行
選取資料行 選擇要保留的一或多個資料行,並刪除其餘資料行
重新命名資料行 重新命名一或多個資料行
複製資料行 建立一或多個資料行的複本
捨棄遺失值 移除具有遺失值的資料列
捨棄重複的資料列 捨棄在一或多個資料行中具有重複值的所有資料列
填滿遺失值 以新值取代具有遺失值的儲存格
尋找與取代 以符合的模式取代儲存格
依資料行分組與彙總 依資料行分組與彙總結果
移除空格 從文字的開頭和結尾移除空格
分割文字 根據使用者定義的分隔符號將資料行分割成數個資料行
第一個字元大寫 將第一個字元轉換為大寫,其餘字元轉換為小寫
將文字轉換為小寫 將文字轉換為小寫
將文字轉換為大寫 將文字轉換為大寫
依範例字串轉換 當從您提供的範例中偵測到模式時,自動執行字串轉換
依範例日期時間格式化 當從您提供的範例中偵測到模式時,自動執行日期時間格式化
依範例新增資料行 當從您提供的範例中偵測到模式時,自動建立資料行。
縮放最小值/最大值 在最小值和最大值之間縮放數值資料行
四捨五入 將數字四捨五入到指定的小數位數
向下捨入 (floor) 將數字向下捨入到最接近的整數
向上捨入 (ceiling) 將數字向上捨入到最接近的整數
自訂作業 根據範例和現有資料行的衍生,自動建立新的資料行

如果缺少您希望在 Data Wrangler 中支援的作業,請在我們的 Data Wrangler GitHub 存放庫中提交功能要求。

修改先前的步驟

可以透過 [清理步驟] 面板修改產生的程式碼的每個步驟。首先,選取您要修改的步驟。然後,當您變更作業時 (透過程式碼或作業面板),資料變更的效果會在網格檢視中醒目提示。

a screenshot showing how to modify previous steps

編輯與匯出程式碼

在 Data Wrangler 中完成資料清理步驟後,有三種方法可以從 Data Wrangler 匯出清理後的資料集。

  1. 將程式碼匯出回 Notebook 並結束: 這會在您的 Jupyter Notebook 中建立一個新儲存格,其中包含您產生的所有資料清理程式碼,並封裝到 Python 函式中。
  2. 將資料匯出到檔案: 這會將清理後的資料集儲存為電腦上的新 CSV 或 Parquet 檔案。
  3. 將程式碼複製到剪貼簿: 這會複製 Data Wrangler 為資料清理作業產生的所有程式碼。

a screenshot of the export menu in Data Wrangler

搜尋資料行

若要在資料集中尋找特定資料行,請從 Data Wrangler 工具列選取 [前往資料行],並搜尋對應的資料行。

a screenshot of the search for columns feature

疑難排解

一般核心連線問題

如需一般連線問題,請參閱上方「連線到 Python 核心」章節,以取得連線的替代方法。若要偵錯與本機 Python 解譯器選項相關的問題,可能修正問題的一種方法是安裝不同版本的 Jupyter 和 Python 擴充功能。例如,如果已安裝穩定版本的擴充功能,您可以安裝預先發行版本 (或反之亦然)。

若要清除已快取的核心,您可以從命令面板執行 Data Wrangler: 清除快取的執行階段 命令 ⇧⌘P (Windows、Linux Ctrl+Shift+P)

開啟資料檔案時發生 UnicodeDecodeError

如果您在直接從 Data Wrangler 開啟資料檔案時遇到 UnicodeDecodeError,則可能是由兩個可能的問題所造成

  1. 您嘗試開啟的檔案的編碼不是 UTF-8
  2. 檔案已損毀。

若要解決此錯誤,您需要從 Jupyter Notebook 而不是直接從資料檔案開啟 Data Wrangler。使用 Jupyter Notebook 使用 Pandas 讀取檔案,例如使用 read_csv 方法。在 read 方法中,使用 encoding 和/或 encoding_errors 參數來定義要使用的編碼或如何處理編碼錯誤。如果您不知道哪種編碼可能適用於此檔案,您可以嘗試使用程式庫,例如 chardet,嘗試推斷可運作的編碼。

問題與意見反應

如果您有問題、有功能要求或任何其他意見反應,請在我們的 GitHub 存放庫上提交 Issue:https://github.com/microsoft/vscode-data-wrangler/issues/new/choose

資料與遙測

適用於 Visual Studio Code 的 Microsoft Data Wrangler 擴充功能會收集使用狀況資料,並將其傳送給 Microsoft,以協助改善我們的產品和服務。請閱讀我們的隱私權聲明以深入了解。此擴充功能遵循 telemetry.telemetryLevel 設定,您可以在 https://vscode.dev.org.tw/docs/getstarted/telemetry 深入了解。