如何判断异常值

使用Z标准化得到的阈值作为判断标准,标准化后的得分超过阈值则为正常:

import pandas as pd

#生成异常数据
df = pd.DataFrame({'col1':[1,120,3,5,2,12,13],
                   'col2':[12,17,31,53,22,32,43]})
print(df)#打印输出

#通过Z-Score方法判断异常值
df_zscore = df.copy()#复制一个来存储Z-score得分的数据框
cols = df.columns #获得数据框的列名
for col in cols:#循环读取每列
    df_col = df[col]#得到每列的值
    z-score = (df_col-df_col.mean())/df_col.std()#计算每列的Z-score得分
    df-zscore[col] = z_score.abs() > 2.2 #判断Z-score得分是否大于2.2,如果得分为Ture,否则为False
print(df_zscore)
    
原文地址:https://www.cnblogs.com/qiuyuyu/p/10060560.html