如何在掩码后检查列中的所有值是否均为 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
我有以下代码过滤掉某些值:
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