数据分析实战45讲-11-数据清洗

为什么需要数据清洗

  1. 因为获取到的数据是各种各样的,在分析前,要投入大量的时间和经历把数据“整理裁剪”成自己想要或需要的样子
  2. 在整个数据分析过程中,不论是在时间还是功夫上,数据清洗大概都占了80%

数据质量的准则

数据清洗规则4个关键点:完全合一

按照以下原则,可以解决数据清洗中遇到的大部分问题,使得数据标准,干净,连续

  1. 完整性:单挑数据是否存在控制,统计的字段是否完善
  2. 全面性:观察某一列的全部数值,看到该列的平均值,最大值,最小值。来判断该列是否存有问题。
  3. 合法性:数据的类型、内容、大小的合法性。
  4. 唯一性:数据是否存在重复记录

清洗数据

  1. 完整性:
  • 问题1 : 缺失值处理
    • 删除: 删除数据缺失的记录
    • 均值: 使用当前列的均值
    • 高频: 使用当前列出现频率最高的数据
1
2
3
4
df['Age'].fillna(df['Age'].mean(), inplace=True)

age_maxf = train_features['Age'].value_counts().index[0]
train_features['Age'].fillna(age_maxf, inplace=True)
  • 问题2 : 空行
    • 删除空行
1
2
# 删除全空的行
df.dropna(how='all',inplace=True)
  1. 全面性
  • 问题:单位不统一
    • 转换成统一单位
  1. 合理性
  • 问题:非ASCII字符串
    • 删除非ASCII的字符串
  1. 唯一性:
  • 问题1: 一列有多个参数

  • 问题2: 重复数据

    • 删除重复数据
1
2
# 删除重复数据行
df.drop_duplicates(['first_name','last_name'],inplace=True)

养成数据审核的习惯

没有高质量的数据,就没有高质量的数据挖掘,而数据清洗是高质量数据的一到保障