本章要回答的问题:一份刚读进来的数据,为什么必须先清洗再使用?缺失值、异常值、重复值、错类型,四类脏各用什么函数治,参数怎么选才不伤及好数据?洗到什么程度算干净,有没有可执行的验收标准?本章依次给出可照抄的答案。
老厨师带徒的顺序,从来不是先教颠勺,而是先教择菜:烂叶不摘,汤就发苦;泥沙不冲,满盘硌牙。数据行业同样有个反复被验证的规律——分析结论的大半错误,源头都能追到没洗干净的数据上:缺失没处理,均值悄悄偏了;异常没拦住,一条录错的万元订单把均单价拉高一截;重复没去掉,月活凭空翻着涨。清洗不出彩,但清洗出错一定出丑。
本章把择菜间拆成五道工序,每道围绕一组函数展开:缺失值靠 dropna 与 fillna 这对双子星;异常值靠分位数与 Z 分数两把尺;重复值靠 drop_duplicates 一键清理;类型矫正靠 to_numeric 与 to_datetime 两位翻译;最后的腌制冷藏环节,用缩放、分箱、独热编码把洗好的料做成下游模型爱吃的形态。每一道都按食谱卡展开——适用场景、参数拆解、实操示例、坑点与翻车、替代方案,五个部分一个不少。
可考核知识点清单:dropna 的 how、subset、thresh 三参数各自的适用局面;fillna 用列统计量填充时的对齐行为;ffill 与 bfill 适合什么形态的时间序列;IQR 法里 1.5 与 3 两档系数的宽严差异;Z 分数在偏态分布上失灵的原因;drop_duplicates 的 keep 三种取值;to_numeric 的 errors 三种取值;astype 与 to_* 函数家族的分工;标准化与归一化的几何区别;分箱时 cut 与 qcut 一个等宽一个等频。
| 节 | 回答哪个问题 | 关键产出 |
|---|---|---|
| 2.1 缺失值处理 | 空着的地方删还是填 | 缺失处置决策流程图 |
| 2.2 异常值处理 | 离谱的数怎么判定处置 | 两把尺加三道处置闸 |
| 2.3 数据去重 | 重复的记录保哪条 | 键去重与保序去重手法 |
| 2.4 数据类型转换 | 错型的列怎么安全矫正 | to_* 家族使用守则 |
| 2.5 标准化与特征编码 | 洗好的料怎么腌制成形 | 缩放分箱编码三件套 |
**问:清洗到什么程度算干净?**没有绝对标准,只有"够下游用"的标准:类型正确、关键列无缺失或缺失已处置且有据可查、异常经过复核、重复已清。本章每节末尾的收档清单就是逐项验收表,五道工序各过各的闸。
**问:清洗会不会把有用信息洗掉?**会,所以本章反复强调"先量再动手、处置记台账"。删除是最后手段,填充要写明口径,异常先过业务复核——清洗的目标是"去伪",不是"去异"。
**问:五道工序的先后能换吗?**大方向不能:类型矫正要在多数填充之前(类型不对,均值都算不出);去重宜早(重复样本会污染统计量);缩放分箱放最后(它们假设数据已经干净)。局部微调可以有,"先腌后洗"不行。
择菜合格,下一站切配台:筛选切片、排序排名、字符串与时间的精加工,把洗好的料切成下锅的形状。本章的清洗函数在 8.5 的流水线实战里会按"择菜工序"整体复用一次,届时你会看到它们如何串成一条自动出餐线。