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

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

但这给了我一个ValueError



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

最佳答案

从文档:



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

尝试:

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

10-08 11:14