數據清洗

習題預習

User ask:
給我5題Data Cleaning的中文問題

ChatGPT answer:
  1. 數據中是否存在缺失值?
  2. 是否有重複的數據?
  3. 是否存在錯誤的數據格式或數值?
  4. 是否有不一致的數據標準或統一編碼?
  5. 是否存在不需要的數據或雜訊數據?

說明知識

User ask:
以中文說明Data Cleaning並舉例

ChatGPT answer:

Data Cleaning是指對於原始資料進行清理的過程。也就是說,我們需要對資料進行篩選、去重、替代值、標準化、缺失值處理等操作,使原始資料更加適合進行分析和應用。

例如,如果我們有一份學生的資料,其中可能存在著錯誤或不一致的地方,如名字拼寫不同、性別不一致、信息缺失等。這就需要進行Data Cleaning的處理。我們可以通過各種渠道的檢查和過濾來修改及補齊這些資料,使得每筆資料的結構和內容都是一致的,進一步方便後續的統計分析及應用。

條列重點

User ask:
以中文條列Data Cleaning的重點

ChatGPT answer:
  1. 去除重複資料
  2. 刪除含有缺失值的資料
  3. 處理不一致的資料 (如大小寫、縮寫、拼寫不正確等)
  4. 處理異常值 (如極端值、錯誤值、不合理值等)
  5. 處理資料類型 (如數字轉換為文字、類別轉換為數字等)
  6. 清除格式錯誤 (如日期格式、時間格式等)
  7. 統一資料格式 (如統一日期的格式、統一貨幣的單位等)
  8. 處理資料不平衡的問題 (如類別分佈不均等)
  9. 探索性資料分析 (EDA) 從資料中發現隱含的問題以及解決方案
  10. 檢查資料的完整性 (如是否有資料遺失等)

知識測驗

User ask:
以中文給我5題Data Cleaning的中等難度問題,並在後面列出答案

ChatGPT answer:
  1. 在一個資料庫中,有一欄位的數值型態應為整數,但有部分值卻是浮點數,請問應該如何進行資料清理?
  2. 在一個 CSV 檔案中,有一欄位紀錄電話號碼,但部分電話號碼格式錯誤(例如遺漏區碼、多餘數字),請問應該如何進行資料清理?
  3. 在一個資料庫中,有一欄位紀錄客戶的名稱,但有些名字格式錯誤(例如大小寫、部分名字缺失),請問應該如何進行資料清理?
  4. 在一個 CSV 檔案中,有一欄位紀錄日期,但日期格式錯誤(例如年份、月份、日期順序顛倒),請問應該如何進行資料清理?
  5. 在一個資料庫中,有一欄位紀錄商品的價格,但部分價格格式錯誤(例如多餘符號、少數商品無價格),請問應該如何進行資料清理?

答案

  1. 可以透過程式碼將浮點數轉換為整數,例如使用 Python 的 int() 函數。
  2. 可以透過程式碼檢查電話號碼是否符合規定格式,例如使用 Python 的正則表達式。
  3. 可以透過程式碼將名字轉換成正確格式,例如使用 Python 的 capitalize() 函數。對於缺失的名字部分,可以考慮從其他資料欄位中尋找補齊。
  4. 可以透過程式碼將日期轉換成正確格式,例如使用 Python 的 datetime.strptime() 函數。
  5. 可以透過程式碼檢查價格是否符合規定格式,例如使用 Python 的正則表達式。對於無價格的商品,可以考慮以平均價格或是其他類似商品的價格填補。