数据异常值检测和过滤

a 夏天 提交于 2020-01-25 20:36:30

数据异常值检测和过滤

查看数据信息
info
head
describe

使用describe()函数查看每一列的描述性统计量
空值处理:isnull()判空 fillna()填充 dropna()删除
重复值处理:duplicated()查看重复行 drop_duplicates() 删除重复行
异常值处理:

  1. (整列数据像转换成标准的正态分布) 数值 > 3*std
  2. 离群点:Q1 Q3 IQR=Q3-Q1 UP_LEVEL=Q3+1.5IQR BOOTOM_LEVEL=Q1 -1.5IQR
  3. 结合业务场景进行异常值判定

使用std()函数可以求得DataFrame对象每一列的标准差。
获取异常数据的索引
根据每一列或行的标准差,对DataFrame元素进行过滤
借助any()或all()函数,测试是否有True,有一个或以上返回True,反之返回False
对每一列应用筛选条件,去除标准差太大的数据
删除特定索引df.drop(labels,inplace=True)

df.drop(labels=df.loc[(np.abs(df) > 3*std).any(axis=1)].index).shape
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!