在pandas dataframe过滤器中使用两个条件

时间:2016-11-21 17:53:19

标签: python pandas

我希望过滤掉两列值等于0和1的所有行。以下是我对此的尝试但未产生任何结果。

x = x[x.value_1 != 0 and x.value_2 !=1]

运行此命令会返回以下错误:

  

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

我知道可以单独使用这两个条件之一进行过滤。但是,当我一起使用它们时似乎并不喜欢。有关快速修复的建议,不包括合并?谢谢!

2 个答案:

答案 0 :(得分:1)

试试用括号和&而不是和:

x = x[(x.value_1 != 0) & (x.value_2 !=1)]

我有同样的问题

答案 1 :(得分:0)

如果你想要任何东西,除了当value_1为0且value_2为1时,试试这个:

x = x[~((x.value_1 == 0) & (x.value_2 == 1))]