資料清理與篩選

使用 Microsoft Fabric 進行資料轉換與分析

Luis Silva

Solution Architect - Data & AI

資料清理工具

 

 

代表三種工具的圖示:SQL、Spark 與 Dataflows

使用 Microsoft Fabric 進行資料轉換與分析

處理空白列

  • 若整列皆空白則移除該列

 

示意圖:含多列空白列的資料表,轉換為已移除空白列的資料表

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 處理空白列

  • Remove blank rows」轉換

 

Dataflow 中 Remove rows 選單的畫面,標示移除空白列選項,並附上移除前後的表格範例

使用 Microsoft Fabric 進行資料轉換與分析

用 Spark 處理空白列

  • DataFrame dropna() 函式
  • 可移除含任一空值的列,或僅移除全為空值的列

表格示例:以兩種 dropna 用法移除列的前後對照

使用 Microsoft Fabric 進行資料轉換與分析

處理重複列

  • 移除重複列

 

示意圖:含重複列的資料表,轉換為已移除其中一筆重複紀錄的資料表

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 處理重複列

  • Remove duplicates」轉換

 

Dataflow 中 Remove rows 選單的畫面,標示移除重複列選項,並附上移除前後的表格範例

使用 Microsoft Fabric 進行資料轉換與分析

用 Spark 處理重複列

  • DataFrame dropDuplicates() 函式

 

示意圖:含重複列的資料表,呼叫 dataframe dropDuplicates 後移除其中一筆重複紀錄

使用 Microsoft Fabric 進行資料轉換與分析

替換值

  • 將欄中的特定值替換為另一個值。
  • 也可用來以某值取代空白儲存格。

 

示意圖:表格中若干筆 ABC 被替換為 XYA

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 替換值

  • Replace values」轉換

 

Dataflow 中 Replace values 轉換選單畫面,示例將空白值改為字串 '(Unknown)'

使用 Microsoft Fabric 進行資料轉換與分析

用 Spark 替換值

  • DataFrame replace() 函式

 

示意圖:表格中的 N/A 被 PySpark 的 replace 函式替換為字串 'Unknown'

使用 Microsoft Fabric 進行資料轉換與分析

更正資料型別

  • 模型中的資料型別需一致
  • 支援值之間的比較

示意圖:將以文字儲存的數字欄位轉換為實際數值

使用 Microsoft Fabric 進行資料轉換與分析

更正資料型別

  • 模型中的資料型別需一致。
  • 支援值之間的比較。
  • 支援型別專屬操作。
    • 對數值欄位進行算術運算。
    • 對日期時間欄位進行日期時間運算。

示例:文字欄可用小寫、 大寫、修剪;數值欄可用加總與最大值等轉換

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 更正資料型別

  • 內容感知選單(方式 1):
    1. 在資料檢視中選取一個欄位。
    2. 點選欄位標題左側的圖示。

螢幕擷取畫面:點欄位標題左側圖示以開啟 Change type 內容選單

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 更正資料型別

  • 內容感知選單(方式 1):
    1. 在資料檢視中選取一個欄位。
    2. 點選欄位標題左側的圖示。
    3. 從清單選取新的資料型別。

螢幕擷取畫面:在資料檢視中點欄位標題的資料型別可開啟 Change type 內容選單

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 更正資料型別

  • 內容感知選單(方式 2):
    1. 在資料檢視中選取一個欄位。
    2. 在欄位標題上按滑鼠右鍵。

螢幕擷取畫面:反白欲變更資料型別的欄位標題

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 更正資料型別

  • 新增轉換:
    1. 在資料檢視中選取一個欄位。
    2. 在圖表檢視中點選(+)以加入轉換。
    3. 在快顯選單點選「Change type」,並從清單選取新的資料型別。

螢幕擷取畫面:在查詢中加入 Change Type 轉換

使用 Microsoft Fabric 進行資料轉換與分析

用 Spark 更正資料型別

  • DataFrame cast() 函式
df.withColumn("new_column_name", df["column_name"].cast("new_data_type"))
  • 範例:
# 將 [orderID] 欄轉為 integer
df = df.withColumn("orderID", df["orderID"].cast("integer"))
使用 Microsoft Fabric 進行資料轉換與分析

資料篩選

  • 依條件包含或排除列。
SELECT
  OrderID, State, Date, Amount
FROM
  Orders 
WHERE
  State = 'NY'

示意圖:過濾表格,僅保留州別為 NY 的列

使用 Microsoft Fabric 進行資料轉換與分析

用 Dataflows 進行資料篩選

  • 使用 Filter 轉換

在欄位上套用 filter 轉換的螢幕擷取畫面

使用 Microsoft Fabric 進行資料轉換與分析

用 Spark 進行資料篩選

  • DataFrame filter() 函式
  • where()filter() 的別名
df.filter( <condition> )
  • 範例
# 僅回傳 State = 'NY' 的 DataFrame 列
df.filter( df.state == 'NY' )
使用 Microsoft Fabric 進行資料轉換與分析

一起來練習吧!

使用 Microsoft Fabric 進行資料轉換與分析

Preparing Video For Download...