在数据清洗过程中,主要处理的是缺失值、异常值和重复值。所谓清洗,是对数据集,进行丢弃、填充、替换、去重等操作,实现去除异常、纠正错误、补足缺失的目的。数据缺失一般分两种:一是行记录的缺失,这种情况又称为记录丢失;二是数据列值的缺失,即由于各种原因导致的数据记录中某些列的值空缺,不同的数据存储和环境中对于缺失值的表示结果也不同,例如,数据库中是NULL,Python返回对象是None,Pandas或Numpy中NaN(值得注意的是,在极少数状态下,缺失值也会使用空字符串来代替,但空字符串绝对不同于缺失值)
方法一:丢弃
这种方法简单明了,直接删除带有缺失值的行记录(整行删除)或者列字段(整列删除),减少趋势数据记录对总体数据的影响。但丢失意味着会消减数据特征,以下任意一种场景都不宜采用丢弃的方法:1)数据集总体存在大量的数据记录不完整情况,且比例较大,例如超过10%,删除这些带有缺失值的记录意味着将会损失过多有用信息。2)带有缺失值的数据记录大量存在着明显的数据分布规则或特征,例如带有缺失值的数据记录的目标标签主要集中于某一类或几类,导致模型过拟合或分类不准确。
方法二:补全
相对于丢弃而言,补全是更加常用的缺失值处理方