繁体   English   中英

Python Pandas选择组,其中特定列包含零

[英]Python Pandas select group where a specific column contains zeroes

我正在使用Python Pandas进行一个小项目,但遇到以下问题:

我有一个表,其中列A包含多个(可能是非唯一的)值,第二列B的值可能为零。 现在,我想按A列中的值对DataFrame中的所有行进行分组,然后仅“保留”或“选择” B列中包含一个或多个零的组。

例如,从如下所示的DataFrame中:

Column A    Column B
--------    --------
b           12
c           56
f           0
b           456
b           334
f           10

我只对列A = f的所有行(该组)感兴趣:

Column A    Column B
--------    --------
f           0
f           10

我知道如何使用循环和遍历组来实现此目的,但是我正在寻找一个简单且相当快速的代码,因为我使用的DataFrame可能会变得非常庞大。

我当前的方法是这样的:

df.groupby("A").filter(lambda x: 0 in x["B"].values)

显然,我是Python Pandas的新手,并希望能为您提供帮助!

先感谢您 !

一种方法是获取A列(其中B列为零)的所有值,然后对该过滤后的集合进行分组。

groups = df[df['Column B'] == 0]['Column A'].unique()
>>> df[df['Column A'].isin(groups)]
  Column A  Column B
2        f         0
5        f        10

暂无
暂无

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

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