Pandas 连续删除异常值

Blu*_*ngo 2 python pandas

已经有很多关于删除异常值的问题,但我无法用它们解决我的问题。

我想从 中删除带有异常值的行dataframe

说,我有以下内容dataframe

    0   1   2   3   4   5   6   7
a   1   2   3   4   100 2   1   3
b   2   1   3   4   1   2   300 123
c   100 200 300 400 200 500 200 400
Run Code Online (Sandbox Code Playgroud)

对于 row,a我们可以假设 100 是异常值,所以我想删除a.

尽管 Row 中的所有值c都很高,但它们并不是该行本身的异常值,因此,我想保留它。

所以,基本上我想删除所有带有异常值的行。

我尝试调换 DF 并做了类似的事情

df = df[(np.abs(stats.zscore(df)) < 2).all(axis=1)],但没有成功

jez*_*ael 5

添加:axis=1zscore

df = df[(np.abs(stats.zscore(df, axis=1)) < 2).all(axis=1)]
print (df)
     0    1    2    3    4    5    6    7
c  100  200  300  400  200  500  200  400
Run Code Online (Sandbox Code Playgroud)