您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在熊猫中使用基于DataFrame布尔值的条件语句

如何在熊猫中使用基于DataFrame布尔值的条件语句

如果要检查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@

其他 2022/1/1 18:34:56 有671人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶