繁体   English   中英

过滤熊猫中的数据

[英]Filtering data in pandas

我正在使用熊猫0.13.0

我有一个具有250万条记录的数据框(a)

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

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

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的法律 &的逻辑取反不只是用!=切换== ,还必须将&换成| ,因为您想要cond1 != '120.A' cond2 != 2012 ,即,如果!=条件之一为true, cond2 != 2012排除一行,因为这会使原始&语句为False

上面@EdChum的注释等同于

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM