首页 > 解决方案 > 如何使用 pandas DataFrame 检测偏差?

问题描述

我有一些包含 5 列和 1000 行的数据。现在我刚刚选择了 3 个随机行:

5 5 5 0.1 0.2

4 4 4 4   0.3

4 3 3 3   1

如何检测每行的偏差?例如,第一行有两个 0,第二行有一个 0。我尝试使用均值,但这不是正确的解决方案。

标签: pythonpandasnumpy

解决方案


你可以这样做:

n=3
new_df=df.loc[:,~(df.diff(axis=1).abs()>n).any()]
print(new_df)
   col1  col2  col3
0   5.0   5.0   5.0
1   4.0   4.0   4.0
2   4.0   3.0   3.0

new_df=df.loc[:,(df.diff(axis=1).abs()>n).any()]
print(new_df)
   col4  col5
0   0.1   0.2
1   4.0   0.3
2   3.0   1.0

你可以选择你想要的间隔。


差异

print(df.diff(axis=1).abs())

   col1  col2  col3  col4  col5
0   NaN   0.0   0.0   4.9   0.1
1   NaN   0.0   0.0   0.0   3.7
2   NaN   1.0   0.0   0.0   2.0

推荐阅读