python - 通过所有记录相同来过滤分组的熊猫数据框
问题描述
我正在寻找将分组的熊猫数据框过滤到组中所有值都相同的组。
可重现的数据:
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
解决方案
你只需要添加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
推荐阅读
- json - 在 AngularJS 中,从另一个 json 文件向数组添加字段,可能存在回调问题
- eiffel - 埃菲尔,多种类型一致性:一种指定参数是 A 和 B 的后代的方法?
- excel - 图像不随列移动(尽管设置为“随单元格移动和调整大小”)
- c# - 将动作添加到操作栏
- c++ - 比较BGR图像是否完全相同
- java - 使用 jackson-dataformat-xml 转义引号
- html - 将文本字段定位为“附加”到另一个字段
- javascript - React Table,显示来自访问器的数据,来自另一列的自定义渲染
- c++ - 如何将对象作为参数从 .h 和 .cpp 传递给函数
- java - 如何使用 DOT 语言和 Java 以任何顺序从任何给定数组打印 BST?