如何在掩码后检查列中的所有值是否均为 False

How to check if all values in column are False after mask

我有以下代码过滤掉某些值:

df_1['date'] = pd.to_datetime(df_1['date'])
df_2['date'] = pd.to_datetime(df_2['date'])
res = df_1.merge(df_2, on='order_id', suffixes=['_orig', ''])
m = res['date'].gt(res['date_orig']) | (res['date_orig'].isnull() & res['date'].notnull())

结果是:

0    False
1    False
2    False
3    False
4    False
5    False
6    False
7    False
8    False
9    False

如何检查其中一个结果是否为真?

这是我的尝试:

if m is False:
    print('false')
else:
    print('true')

尝试时结果始终为假,即使我得到以下结果:

0    False
1    False
2    False
3    False
4    True
5    False
6    False
7    False
8    False
9    False

如果这些值中的任何一个为真,我希望它为 return 为真。

非常感谢任何见解。

使用Series.any:

if m.any():
    print('at least one true')
else:
    print('all false')

我认为你可以做到:

any(m)

如果 m 是一个布尔列表并且其中任何一个元素为 True,则 any(m) 将 return True