检查pandas数据框是否大于等于2
我想用下面的代码检查一个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
所以 Col1
和 Col2
都有大于2的值。
如果你想得到一个单独的 True
或 False
值,可以再用一次 .any()
:
print(df.ge(2).any().any())
输出结果是:
True
所以你问题的答案是:
if df.ge(2).any().any() == True:
print("OK")