[英]Select rows from Pandas dataframe where a specific column contains numbers
[英]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.