如果要检查DataFrame的任何行是否满足条件,则可以.any()
与条件一起使用。范例-@H_502_1@
if ((df['column1']=='banana') & (df['colour']=='green')).any():
范例-@H_502_1@
In [16]: df
Out[16]:
A B
0 1 2
1 3 4
2 5 6
In [17]: ((df['A']==1) & (df['B'] == 2)).any()
Out[17]: True
这是因为您的条件–((df['column1']=='banana') & (df['colour']=='green'))
返回一系列True / False值。@H_502_1@
这是因为在熊猫中,当将一个系列与一个标量值进行比较时,它将返回将该系列的每一行与该标量值进行比较的结果,并且结果是一系列True / False值,表明该行与标量值。范例-@H_502_1@
In [19]: (df['A']==1)
Out[19]:
0 True
1 False
2 False
Name: A, dtype: bool
In [20]: (df['B'] == 2)
Out[20]:
0 True
1 False
2 False
Name: B, dtype: bool
而且&
确实行方向and
的两个系列。范例-@H_502_1@
In [18]: ((df['A']==1) & (df['B'] == 2))
Out[18]:
0 True
1 False
2 False
dtype: bool
现在,可以使用.any()
检查该系列中的任何值是否为True,可以使用检查系列中的所有值是否为True.all()
。@H_502_1@