Python实现数据分析中数据清洗的详细教程【教程】

admin 百科 9
数据清洗是数据分析中最耗时却最关键的一步;需用df.isnull().sum()和df.info()识别缺失值,再依情况选择删除或填充等方法处理。

Python实现数据分析中数据清洗的详细教程【教程】-第1张图片-佛山资讯网

数据清洗是数据分析里最耗时却最关键的一步。脏数据不处理,模型再 fancy 也白搭。Python 配合 pandas、numpy 和一些小技巧,能把这事干得又快又稳。

识别并处理缺失值

缺失值不是“看不见就等于没有”,而是可能隐藏偏差的信号。先用 df.isnull().sum() 快速统计每列空值数量;再用 df.info() 看数据类型和非空计数。

  • 删除法:缺失少(比如df.dropna(subset=['列名']) 删行,或 df.dropna(axis=1) 删整列
  • 填充法:数值型常用均值、中位数(df['age'].fillna(df['age'].median(), inplace=True));类别型建议用众数或新增 “Unknown” 类别
  • 进阶思路:时间序列用前向/后向填充(ffill/bfill),或用 KNN、回归模型预测填充(需 scikit-learn)

统一格式与类型转换

同一含义的数据,常因录入差异长得不一样——比如日期写成 '2023/01/01'、'2023-01-01'、'01-Jan-2023';电话号码带括号、空格、横线;价格字段混着字符串如 '$1,299.99'。

  • 日期统一:用 pd.to_datetime(df['date'], errors='coerce') 强转,失败变 NaT,便于后续排查
  • 字符串清洗:用 .str.replace(r'[^\w\s]', '', regex=True) 去标点;.str.strip().str.lower() 去空格+小写
  • 数字提取:对含单位的字段(如 '5.2kg', '38°C'),用 .str.extract(r'(\d+\.?\d*)') 提数字,再转 float

检测并修正异常值

异常值不等于错误,但得确认它是否合理。比如用户年龄出现 180 岁、订单金额 -¥999,大概率是录入或计算 bug。

标签: python 数据清洗

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~