
打开pycharm开发工具,在运行窗口输入命令:
1 | import pandas as pd #导入pandas库
|

输入数据集。
1 2 | 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),根据计算的结果判断样本值与中心的偏离程度。
1 2 | df1=data. copy ()#为了不影响原始数据集,复制数据集data
print (df1)
|

按列计算均值和标准差。
1 | df1[ 'cost' ]=(df1[ 'cost' ]-df1[ 'cost' ].mean())/df1[ 'cost' ].std()#标准化cost_z列
|

对sales列进行标准化。
1 2 | df1[ 'sales' ]=(df1[ 'sales' ]-df1[ 'sales' ].mean())/df1[ 'sales' ].std()#标准化cost_z列
df1[ 'sales' ]
|

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

假设cost列阈值为2,通过下面的方法找到异常值。
1 2 | df1[ 'cost' ]. abs ()>2#判断数据是否异常
data[df1[ 'cost' ]. abs ()>2]#取出原数据集中的异常点
|

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