使用OR语句过滤Pandas Dataframe

乔希:

我有一个pandas数据框,我想根据数据框中两列的值过滤整个df。我想找回IBRD或IMF!= 0的所有行和列。

alldata_balance = alldata[(alldata[IBRD] !=0) or (alldata[IMF] !=0)]

但这给了我一个ValueError

ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

所以我知道我没有正确使用or语句,有没有办法做到这一点?

利亚姆·弗利(Liam Foley):

从文档:

另一个常见的操作是使用布尔向量来过滤数据。操作员是:为或,&为与,和〜为非。这些必须通过使用括号进行分组。

http://pandas.pydata.org/pandas-docs/version/0.15.2/indexing.html#boolean-indexing

尝试:

alldata_balance = alldata[(alldata[IBRD] !=0) | (alldata[IMF] !=0)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章