首页 > 解决方案 > 通过所有记录相同来过滤分组的熊猫数据框

问题描述

我正在寻找将分组的熊猫数据框过滤到组中所有值都相同的组。

可重现的数据:

df = pd.DataFrame({'group':['A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                     'value3':[24, 45, 34, 55, 44, 33, 1, 2, 3, 98, 98, 98]})

我尝试过类似...

df.groupby('group').filter(lambda x: x.value3 == x.value3.mean())

预期输出是...

   group  value3
0      C      98
1      C      98
2      C      98

标签: pythonpandas

解决方案


你只需要添加all

df.groupby('group').filter(lambda x: (x.value3 == x.value3.mean()).all())
Out[409]: 
   group  value3
9      C      98
10     C      98
11     C      98

推荐阅读