pandas - 异常值处理
异常值概念:是指那些远离正常值的观测,即“不合群”观测。异常值的出现一般是人为的记录错误或者是设备的故障等,异常值的出现会对模型的创建和预测产生 严重的后果。当然异常值也不一定是坏事,有些情况下,通过寻找异常值就能够给业务带来良好的发展,如销毁“钓鱼”网站,关闭“薅羊毛”用户的权限等。 异常值的判定方法: 1.n个标准差法 2.箱线图法 标准差法,就是用以样本均值+样本标准差为基准,如果样本离平均值相差2个标准差以上的就是异常值 箱线图法:以上下四分位作为参考, x > Q3+nIQR 或者 x < Q1 - nIQR 简单地理解,就是如果样本值不在上下四分位+标准差范围内,就是异常值 两种异常值判定是,如数据近似服从正态分布是,优先选择n个标准差法,因为数据的分布相对比较对称:否则优先选择箱线图法,因为分位数并不会受极端值的影响。 异常数据处理方法: 1.删除法(前提是异常观测的比例不能太大) 2.替换法(可以考虑使用低于判别上下限的最大值或最小值,均值或中位数替换等) python处理异常值实例: 原数据(部分): 代码: import pandas as pd sunspots = pd.read_table(r'D:\sunspots.csv',sep = ',') xbar = sunspots.counts.mean() xstd = sunspots.counts