python数据分析:异常值处理

import pandas as pd
df = pd.DataFrame({'col1':[2,4,1,7,8,77],'col2':[12,34,32,76,55,66]})


df_zscore = df.copy()
cols = df.columns
for col in cols:
    df_col = df[col]
    z_score = (df_col - df_col.mean()) / df_col.std()
    df_zscore[col] = z_score.abs() > 0.5
print(df_zscore)

上面代码只是用了z标准化得到的阈值作为判断标准。对于又固定业务规则的可直接套用业务规则,而对于没有固定业务规则的,可采用常见的业务模型进行判断,即基于概率分布模型(例如正态分布的标准差范围),基于聚类的方法(例如kmeans),基于分类方法(例如KNN),基于统计的方法(例如分位数法)等

你可能感兴趣的:(python数据分析)