问题描述
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')
即使我有以下结果,尝试执行此操作时结果始终为 false:
0 False
1 False
2 False
3 False
4 True
5 False
6 False
7 False
8 False
9 False
如果这些值中的任何一个为真,我希望它返回真。
非常感谢任何见解。
解决方法
我认为你可以:
any(m)
如果 m 是一个布尔列表并且其中任何一个元素为 True,则 any(m)
将返回 True
使用Series.any
:
if m.any():
print('at least one true')
else:
print('all false')