一、数据常见的问题
包括但不限于:
数据的完整性----例如人的属性中缺少性别、籍贯、年龄等
数据的唯一性----例如不同来源的数据出现重复的情况
数据的权威性----例如同一个指标出现多个来源的数据,且数值不一样
数据的合法性----例如获取的数据与常识不符,年龄大于150岁
数据的一致性----例如不同来源的不同指标,实际内涵是一样的,或是同一指标内涵不一致
二、缺失值处理
判断方法:df.isnull()
- 通过其他信息补全,例如使用身份证号码推算性别、籍贯、出生日期、年龄等等。
- 通过前后数据补全,例如时间序列缺数据了,可以使用前后的均值,缺的多了,可以 使用平滑等处理。常见的插补方法有:均值插补、中位数插补等
- 实在补不全的,虽然很可惜,但也必须要剔除。但是不要删掉,没准以后可以用得上
三、重复值处理
判断方法:根据主键去判断
df.duplicated()
drop_duplicates参数说明:
参数subset
subset用来指定特定的列,默认所有列
参数keep
keep可以为first和last,表示是选择最前一项还是最后一项保留,默认first
参数inplace
inplace是直接在原来数据上修改还是保留一个副本,默认为False
去重方法:drop_duplicates
- 按照主键去重
四、合法性问题
数据中可能存在一些很离谱的值,如年龄大于150岁的
- 首先判断数据来源的可靠性
- 如果存在不合理的数据,对其进行剔除
五、权威性问题
数据单位不同:归一化处理