如果我想洗掉 -2σ 和 2σ 之間不存在的值,如何使用 iqr 洗掉例外值?
我按如下方式實作了這個等式。
iqr = df['abc'].percentile(0.75) - df['abc'].percentile(0.25)
cond1 = (df['abc'] > df['abc'].percentile(0.75) 2 * iqr)
cond2 = (df['abc'] < df['abc'].percentile(0.25) - 2 * iqr)
df[cond1 & cond2]
這是正確的方法嗎?
uj5u.com熱心網友回復:
這個不對。你iqr
幾乎從不等于 σ。四分位數和偏差不是一回事。
幸運的是,您可以使用 輕松計算數值系列的標準差Series.std()
。
sigma = df['abc'].std()
cond1 = (df['abc'] > df['abc'].mean() - 2 * sigma)
cond2 = (df['abc'] < df['abc'].mean() 2 * sigma)
df[cond1 & cond2]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464383.html