数据分析的八成时间,花在清洗上
新手常以为数据分析就是跑模型、出图表,实际上真正的工作量大头在数据清洗。源数据几乎永远是脏的,不先收拾干净,后面算出来的一切都不可信。
常见的四类脏数据
- 缺失值:某些字段是空的
- 重复行:同一条记录出现多次
- 格式不统一:日期一会儿
2026/10/16一会儿16-10-2026,文本有的带空格有的不带 - 异常值:年龄填了 999,金额是负数
用 pandas 快速体检
import pandas as pd
df = pd.read_csv("data.csv")
print(df.shape) # 多少行多少列
print(df.isnull().sum()) # 每列有多少缺失
print(df.duplicated().sum()) # 有多少重复行
print(df.describe()) # 数值列的分布,一眼看出异常
describe() 里如果最小值、最大值明显不合理,基本就是异常值在作怪。
处理的基本手法
- 缺失值:数量少可以直接删行;重要字段可以用均值、中位数或前后值填充
- 重复行:
df.drop_duplicates()去重 - 统一格式:日期用
pd.to_datetime()转成标准类型,文本用str.strip()去掉首尾空格 - 异常值:先搞清是录入错误还是真实极端值——错误就改或删,真实的要保留并单独说明
一条重要原则
清洗要留痕。不要直接覆盖原始文件,把清洗步骤写成脚本,从原始数据一步步跑到干净数据。这样别人能复核,自己过几个月也能看懂当初怎么处理的。
小结
先体检(缺失、重复、格式、异常),再对症处理,最后保留可复现的清洗脚本。把脏数据收拾干净,是所有后续分析的地基。
读者评论 (0)
发表评论
评论功能暂未开放,填写内容不会发送或公开展示。