检查pandas数据框是否大于等于2

0 投票
1 回答
29 浏览
提问于 2025-04-13 15:46

我想用下面的代码检查一个pandas数据框中的列,这些列的值是0和1,看看有没有值大于或等于2:

df_plus1 = df_plus1.iloc[:,2:].fillna(0)
if df_plus1.ge(2) == True:

但是它给我返回了一个错误:

ValueError: 数据框的真假值是模糊的。请使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

我该怎么检查这个数据框,才能不出现错误呢?

1 个回答

1

考虑一下这个数据表:

   Col1  Col2
0     1     2
1     3     4

你可以使用 .any() 来检查这个数据表里是否有大于2的值:

print(df.ge(2).any())

输出结果是:

Col1    True
Col2    True
dtype: bool

所以 Col1Col2 都有大于2的值。

如果你想得到一个单独的 TrueFalse 值,可以再用一次 .any()

print(df.ge(2).any().any())

输出结果是:

True

所以你问题的答案是:

if df.ge(2).any().any() == True:
    print("OK")

撰写回答