Python 熊猫中的数据过滤

Python 熊猫中的数据过滤,python,pandas,Python,Pandas,我正在与熊猫0.13.0合作 我有一个数据帧(a),有250万条记录 我想排除同时应用两个条件的数百条记录:仅同时满足这两个条件的记录 我想看看在应用这两个条件时,我将排除多少条记录: len(a) 2523250 b=a[(a.cond1=='120.A') & (a.cond2==2012)] len(b) 6010 但当我应用条件来获得最终数据帧时: c=a[(a.cond1!='120.A') & (a.cond2!=2012)] len(c) 2214968 在

我正在与熊猫0.13.0合作

我有一个数据帧(a),有250万条记录

我想排除同时应用两个条件的数百条记录:仅同时满足这两个条件的记录

我想看看在应用这两个条件时,我将排除多少条记录:

len(a)  
2523250
b=a[(a.cond1=='120.A') & (a.cond2==2012)]
len(b)
6010
但当我应用条件来获得最终数据帧时:

c=a[(a.cond1!='120.A') & (a.cond2!=2012)]
len(c)
2214968
在第二种情况下,&像and或那样工作 我做错了什么?

复习。
&
的逻辑否定不是简单地用
切换
==
=
,您还必须将
&
|
交换,因为您需要
cond1!='120.A'
cond2!=2012
,即如果其中一个
,您希望排除一行=条件为真,因为这使得原始的
&
语句
为假

@EdChum的上述评论相当于

c=a[(a.cond1!='120.A') | (a.cond2!=2012)]

如果您这样做,len是否与第二个条件匹配:
a[~(a.cond1==120.a')&(a.cond2==2012))
?是的,它可以工作,谢谢,但为什么我原来的方法不起作用?