python中如何处理异常值

2020/09/27 07:49

打开pycharm开发工具,在运行窗口输入命令:

import pandas as pd #导入pandas库

输入数据集。

data=pd.DataFrame({'name':['A','B','C','D','E','F','G'],'cost':[2,127,4,6,3,13,14],'sales':[13,18,32,54,23,33,44]})
print(data)

通过z-score方法判断异常值,即对原始值X进行正态标准化:(X-mean(X))/std(X),根据计算的结果判断样本值与中心的偏离程度。

df1=data.copy()#为了不影响原始数据集,复制数据集data
print(df1)

按列计算均值和标准差。

df1['cost']=(df1['cost']-df1['cost'].mean())/df1['cost'].std()#标准化cost_z列

对sales列进行标准化。

df1['sales']=(df1['sales']-df1['sales'].mean())/df1['sales'].std()#标准化cost_z列
df1['sales']

查看标准化后的数据集。

print(df1)

标准化后的绝对值越大,数据越有可能异常,是否异常根据设定的阈值判断。

假设cost列阈值为2,通过下面的方法找到异常值。

df1['cost'].abs()>2#判断数据是否异常
data[df1['cost'].abs()>2]#取出原数据集中的异常点

python学习网,大量的免费python视频教程,欢迎在线学习!

免费直播

    精选课程 更多

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司