数据清洗

习题预习

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 的正則表達式。對於無價格的商品,可以考慮以平均價格或是其他類似商品的價格填補。