我正在与熊猫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
在第二种情况下,&;的工作方式类似于和或 我做错了什么?你知道吗
复习De Morgan's laws。
&
的逻辑否定并不是简单地将==
与!=
交换,还必须将&
与|
交换,因为您需要cond1 != '120.A'
或cond2 != 2012
所在的行,也就是说,如果其中一个!=
条件为真,您需要排除一行,因为这使得原始的&
语句False
。你知道吗@EdChum上面的评论相当于
相关问题 更多 >
编程相关推荐