过滤Pandas中的数据

2024-04-27 04:55:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在与熊猫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

在第二种情况下,&;的工作方式类似于和或 我做错了什么?你知道吗


Tags: 数据len方式记录情况条件ampcond2
1条回答
网友
1楼 · 发布于 2024-04-27 04:55:36

复习De Morgan's laws&的逻辑否定并不是简单地将==!=交换,还必须将&|交换,因为您需要cond1 != '120.A'cond2 != 2012所在的行,也就是说,如果其中一个!=条件为真,您需要排除一行,因为这使得原始的&语句False。你知道吗

@EdChum上面的评论相当于

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

相关问题 更多 >