常用的数据清洗方法

一、数据常见的问题

包括但不限于:
数据的完整性----例如人的属性中缺少性别、籍贯、年龄等
数据的唯一性----例如不同来源的数据出现重复的情况
数据的权威性----例如同一个指标出现多个来源的数据,且数值不一样
数据的合法性----例如获取的数据与常识不符,年龄大于150岁
数据的一致性----例如不同来源的不同指标,实际内涵是一样的,或是同一指标内涵不一致

二、缺失值处理

判断方法:df.isnull()

  • 通过其他信息补全,例如使用身份证号码推算性别、籍贯、出生日期、年龄等等。
  • 通过前后数据补全,例如时间序列缺数据了,可以使用前后的均值,缺的多了,可以 使用平滑等处理。常见的插补方法有:均值插补、中位数插补等
  • 实在补不全的,虽然很可惜,但也必须要剔除。但是不要删掉,没准以后可以用得上

三、重复值处理

判断方法:根据主键去判断
df.duplicated()
drop_duplicates参数说明:
参数subset
subset用来指定特定的列,默认所有列
参数keep
keep可以为first和last,表示是选择最前一项还是最后一项保留,默认first
参数inplace
inplace是直接在原来数据上修改还是保留一个副本,默认为False
去重方法:drop_duplicates

  • 按照主键去重

四、合法性问题

数据中可能存在一些很离谱的值,如年龄大于150岁的

  • 首先判断数据来源的可靠性
  • 如果存在不合理的数据,对其进行剔除

五、权威性问题

数据单位不同:归一化处理

你可能感兴趣的:(常用的数据清洗方法)