我正在尝试使用python找出我数据框中的所有异常值。并用我的数据框此列的平均值替换它们。我尝试了这些代码行,但是。
for c in df:
def replace(c):
mean, std = c.mean(), c.std()
outliers = (c- mean).abs() > 3*std
c[outliers] = mean
return c
df= df.transform(replace)
当我尝试使用此行代码z= np.abs(stats.zscore(df))
np.where(z > 3)
来测试数据框所有列中是否存在异常值时
我发现一列未处理的异常值。
在这种情况下我可以做些什么吗。
谢谢