异常值处理需结合分布、业务逻辑与模型敏感度;先用pandas探查数据,再用IQR法、Z-score法或可视化识别异常,最后依成因选择删除、修正或保留。

Python数据预处理不是一串代码堆砌,而是围绕“让数据适合建模”这个目标展开的系统性工作。异常值处理是其中关键一环——它既不能盲目删除,也不能全盘保留,得看分布、业务逻辑和模型敏感度。
数据加载与初步探查
先用pandas读入数据,立刻检查形状、缺失值、数据类型和前几行:
- df.shape 看样本量和特征数
- df.info() 查非空值数量和dtype是否合理(比如日期被读成object)
- df.describe(include='all') 一次性看数值型和类别型变量的统计概览
- df.isnull().sum() 定位缺失集中的列
数值型异常值识别与判断
异常值不等于错误值,得先区分是录入错误、测量偏差,还是真实但罕见的业务现象。常用方法有:
- IQR法:计算Q1、Q3和IQR,定义上下界为 Q1−1.5×IQR 和 Q3+1.5×IQR;适用于近似对称分布
- Z-score法:|z| > 3 视为异常;要求数据近似正态,否则易误判
- 可视化辅助:用箱线图(sns.boxplot)或散点图(plt.scatter)直观定位离群点,结合业务判断是否合理(例如某客户单月消费100万元,在高端珠宝行业可能是正常,但在便利店场景就极可疑)
异常值处理策略选择
处理方式取决于异常成因和后续建模需求:
标签: python
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~