簡化資料

清理資料的過程中,可能需要移除資料集內重複的資料列。

驗證重複資料

在某些情況下,可以接受出現重複的資料。舉例來說,資料集內可能含有使用相同主鍵的其他記錄,作為修正或記錄詳細資料之用。

附註:移除資料集內的重複資料之前,需先確認該筆資料確實不該含有任何重複資料。如果資料的結構可支援含有鍵值的一些重複元素,需特別注意您用來辨識重複資訊構成內容的方式。

Deduplicate 轉換

Cloud Dataprep by TRIFACTA® 提供單一轉換,可以移除資料集中完全相同的資料列:

提示:如果想要辨識是否存在重複的資料列,請對照一下資料集在此轉換指令加入前後的資料列數目差異。

轉換名稱 Remove duplicate rows

限制:

  • 這個轉換會區分大小寫,因此如果資料欄內有 HelloHELLO 值,含有這些值的資料列不會視作重複,無法使用這個轉換來移除。
  • 不會略過空格字元以及值的開頭和結尾。

在套用 deduplicate 轉換前,請先嘗試將資料正規化。您可以使用下列方法,將少量資料欄正規化。

附註:如果資料欄數量在 20 個以上,建議改為辨識主鍵方法,以此方式來簡化資料集的效果可能會更好。請參閱下列詳細資訊。

對於單獨的資料欄,則可使用 trim 函數移除前後的空格:

附註:若要保留資料欄的原始值,請使用 derive 轉換。set 轉換會取代原始值。

轉換名稱 New formula
參數:公式類型 Single row formula
參數:公式 TRIM(Item)

由於 deduplicate 轉換會區分大小寫,可以使用 LOWER 函式讓資料欄內的每個項目的大小寫保持一致:

轉換名稱 New formula
參數:公式類型 Single row formula
參數:公式 LOWER(Description)

如需更多資訊,請參閱正規化數字值

依據主鍵簡化資料列

簡化資料有個較為簡單的方式,就是在刪除資料列時,以您視作資料集主鍵的一或多個資料欄為根據。主鍵是用來唯一識別資料集內資料列的 ID。主鍵可以是單一欄位 (資料欄),也可以是多個資料欄的組合。舉例來說,在餐廳地點的資料集內,主鍵可能為餐廳名稱、地址和郵遞區號的組合。

附註:繼續進行下一步之前,請先確定資料集的主鍵。請參閱產生主鍵

確定主鍵後,請找出適合用於您的資料集的方法。請完成以下步驟。

步驟:

  1. 如果您的主鍵包含多個資料欄,請使用 merge 轉換將全部的值放到單個資料欄內:

    轉換名稱 Merge columns
    參數:資料欄 RestaurantName,Address,Zip
    參數:分隔符 '-'
  2. 重新命名所產生的資料欄:PrimaryKey

  3. 請使用下列轉換指令來產生新的資料欄,將 PrimaryKey 資料欄中的每個值與前一欄相互對照:

    轉換名稱 Window
    參數:公式 PREV(PrimaryKey, 1)
    參數:排序依據 PrimaryKey
  4. 在每個資料列中,新資料欄的值即是前一資料列的 PrimaryKey 中的值。現在,請測試這個值是否和目前資料列的 PrimaryKey 資料欄內的值相同:

    轉換名稱 New formula
    參數:公式類型 Single row formula
    參數:公式 IF((window==PrimaryKey),true,false)
    參數:新資料欄名稱 IsDupe
  5. 重複主鍵的新資料欄 (IsDupe) 會含有 true。請刪除重複的資料列:

    轉換名稱 Delete rows
  6. 如果產生的資料欄已無用途,請將之刪除。

簡化資料欄

雖然這種資料重複的形式較為少見,請還是檢查一下資料欄內是否可能有重複的資料。如果要找出重複的資料欄資料,可使用類似如下的轉換指令:

轉換名稱 New formula
參數:公式類型 Single row formula
參數:公式 Column1 == Column2
參數:新資料欄名稱 'dupeColVals'

在產生的資料欄中,值為 true 即代表重複的資料。如果所有值皆為 true,則可移除其中一個資料欄。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁