「帮我洗一下这份数据」这句话里,「洗」字含七件事。逐项列出来,一是方便你自查,二是方便你在验收的时候挑毛病——因为「洗没洗干净」是可以核对的,不该是一句感觉。
1. 重复行
先分清「完全重复」和「主键重复」。完全重复可以删;主键重复但字段不同,说明是两次记录(改过值),删错边就会丢信息。判断方法:按主键分组看每组行数,再看组内其他字段是否一致。
2. 缺失值
空字符串、#N/A、-、NULL、全角空格在 Excel 里长得一样,在 pandas 里是四种东西。要按字段统计缺失率,再决定处理方式:删行、填充、还是标记为「未知」。
关键原则:处理方式必须写进记录,不能默默删掉。删了 1200 行没写在报告里,等于结论建立在一份没人知道的表上。
3. 文本型数字
单元格里左对齐的「数字」通常是文本。带着千分位、货币符号、全角数字或末尾空格的,求和结果会是 0 或者少一大截。这是最容易被忽略的一项,因为它不影响看起来,只影响算出来的结果。
4. 日期格式
「2026/1/5」和「2026-01-05」在 Excel 里是两种东西,混在一列里排序会按字典序乱掉。另外要注意文本型日期、Excel 序列号日期、以及日月顺序(01/02/2026 是 1 月 2 日还是 2 月 1 日)——跨国数据必须写死 YYYY-MM-DD。
5. 单位不统一
同一列里混着元和万元、克和千克、度和弧度。这类问题没有报错,只会让结论悄悄错掉,只能靠对字段取值范围做统计来发现:一列「年龄」里同时出现 0.5 和 50,就该问一句。
6. 异常值
分两种:录入错误(年龄 200)和真实极端值(收入长尾)。前者可以按规则修或删,后者不能删——删掉长尾会让均值好看,但那是假的。我们的做法是把判定规则写下来(比如按分位数或业务上限),逐条记录哪些值被判成异常。
7. 字段口径
最容易出事故的一项。「活跃用户」「营收」「完成率」在不同来源里定义可以完全不同。跨表合并之前必须先把口径写清楚,否则合出来的数字看着没问题,但答不上来它到底表示什么。
处理记录怎么写才能复查
一句话规则:改了什么、为什么改、影响多少行。
- 缺失值:字段名 + 缺失率 + 采取的处理 + 影响行数
- 重复行:判重依据(哪些字段)+ 删了多少行 + 剩多少行
- 格式转换:原格式 → 目标格式 + 无法转换的值怎么处理
- 异常值:判定规则 + 命中条数 + 是修还是留
- 对账:行数和关键字段与原始数据可对账(清洗前 N 行,清洗后 M 行,差在哪)
报告里的数字,你都要能顺着记录自己走一遍复算出来。这就是我们做数据清洗交付时的验收口径,写在数据清洗与分析那一页(¥299 起)。
只想先知道这份表「脏在哪里」,¥9.9 数据体检就够:字段级缺失率、异常、重复,一次说清,不做清洗。走量的清洗可以看数据清洗走量档(¥99)。