数据清洗是数据分析中最耗时却最关键的环节,Pandas提供缺失值处理、去重标准化、异常值识别、字段拆分合并等完整工具链,并强调迭代验证与可复现性。

数据清洗是数据分析中耗时最长但最关键的环节。Pandas 提供了丰富且实用的工具,能高效处理缺失值、重复值、异常值、格式不一致和结构混乱等问题。
处理缺失值:识别、填充与删除要分场景
缺失值(NaN)不能直接参与计算,需先判断其分布和产生原因。用 df.isnull().sum() 查看每列缺失数量,用 df.isnull().mean() 看缺失比例。若某列缺失超70%,可考虑剔除;若少量缺失,优先按业务逻辑填充:数值型常用均值或中位数(df['age'].fillna(df['age'].median(), inplace=True)),分类变量常用众数(df['city'].fillna(df['city'].mode()[0], inplace=True))。避免盲目用 0 填充,尤其在收入、评分等有实际零值含义的字段中。
去重与标准化:统一格式才能准确聚合
重复行可用 df.duplicated().sum() 统计,用 df.drop_duplicates() 删除,默认保留首次出现。注意:需确认去重依据——有时“完全相同”才去重,有时只需根据 ID 或时间字段去重。字符串字段常见大小写、空格、全半角问题,建议批量清洗:df['name'] = df['name'].str.strip().str.title();电话、邮编等字段可正则提取数字:df['phone'] = df['phone'].str.extract(r'(\d{11})')。
识别并处理异常值:别一概而论地删掉
异常值不等于错误值。先用箱线图(df.boxplot(column='price'))或四分位距法识别:超出 [Q1−1.5×IQR, Q3+1.5×IQR] 范围的值。再结合业务判断——比如电商订单金额为负,大概率是退款单,应保留并打标签;而年龄为 200,则明显录入错误,可设为 NaN 后按缺失值流程处理。也可用 np.clip() 进行上下限截断,保留数据量的同时抑制极端影响。
PHP5学习对象教程由美国人古曼兹、贝肯、瑞桑斯编著,简张桂翻译,电子工业出版社于2007年12月1日出版的关于PHP5应用程序的技术类图书。该书全面介绍了PHP 5中的新功能、编程方法及设计模式,还分析阐述了PHP 5中新的数据库连接处理、错误处理和XML处理等机制,帮助读者系统了解、熟练掌握和高效应用PHP。
立即学习“Python免费学习笔记(深入)”;
拆分与合并字段:让结构适配分析需求
原始数据常把多维信息塞进一个字段,如“上海市-浦东新区-张江路123号”。用 df['address'].str.split('-', expand=True) 可拆成多列;反之,用 df[['year', 'month']].astype(str).agg('-'.join, axis=1) 合并日期字段。注意设置 expand=True 获取 DataFrame,否则返回列表。对于含列表或字典的字段(如 JSON 字符串),可用 pd.json_normalize() 展平嵌套结构。
清洗不是一步到位的过程,而是迭代:查看 → 诊断 → 处理 → 验证 → 调整。每次操作后建议用 df.info() 和 df.describe(include='all') 快速复核结果。保持清洗步骤可复现,优先用方法链或函数封装,避免手动修改原始数据。









