[英]Dataframe Outlier removal only if it appears on multiple columns for each row Python
我有一個 DataFrame 有多個列,我想過濾每行至少有 3 列或更多列的異常值的所有行。 我怎樣才能做到這一點?
我使用了以下dataframe過濾方法:
df[df.apply(lambda x: np.abs(x - x.mean()) / x.std() < 3).all(axis=1)
但由於.all() function,即使只有單列具有異常值,它也會過濾行。
我們可以得到行上的布爾值和 select > 3
的總和:
m = (df - df.mean()).abs().div(df.std()) < 3
df[m.sum(axis=1) > 3]
注意:我們不需要在這里申請。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.