数据科学家80%时间都花费在清洗任务上?
将数据清洗规则总结为4个关键点:“完全合一”
- 完整性:单条数据是否存在空值,统计的字段是否完善。
- 全面性:观察某一列的全部数值,比如在 Excel 表中,我们选中一列,可以看到该列的平均值、最大值、最小值。我们可以通过常识来判断该列是否有问题,比如:数据定义、单位标识、数值本身。
- 合法性:数据的类型、内容、大小的合法性。比如数据中存在非 ASCII 字符,性别存在了未知,年龄超过了 150 岁等。
- 唯一性:数据是否存在重复记录,因为数据通常来自不同渠道的汇总,重复的情况是常见的。行数据、列数据都需要是唯一的,比如一个人不能重复记录多次,且一个人的体重也不能在列指标中重复记录多次。
1 完整性
问题1:缺失值
有些年龄、体重数值是缺失的,这些数值没有采集到,通常采用三种方法:
- 删除:删除数据缺失的记录
- 均值:使用当前列的均值
- 高频:使用当前列出现频率最高的数据
想对df[‘Age’]中缺失的数值用平均年龄进行填充:
df['Age'].fillna(df['Age'].mean(), inplace=True)
用最高频的数据进行填充,可以通过value_counts获取Age字段最高频次age_maxf,再对Age字段中缺失的数据用age_maxf进行填充:
<