Ive目前有一组数据,您可以在此处看到;

python - 在Panda Python中使用偏差和均值函数-LMLPHP

我正在尝试使用Panda中的.std()和.mean()函数来查找偏差并表示拒绝离群值。不幸的是,我不断收到代码段下方显示的错误。我不知道为什么,可能是因为 header 不是数字?我不确定。

def reject_outliers(new1, m=3):
        return new1[abs(new1 - np.mean(new1)) < m * np.std(new1)]
new2 = reject_outliers(new1, m=3)
new2.to_csv('final.csv')

ValueError:只能将大小为1的数组转换为Python标量

最佳答案

隔离数字列,仅将转换应用于它们

# get list of numeric columns
numcols = list(new1.select_dtypes(include=['number']).columns.values

# run function only on numeric columns
new1[numcols] = reject_outliers(new1[numcols], m=3)

关于python - 在Panda Python中使用偏差和均值函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45568073/

10-09 20:18