首页 > 解决方案 > 在熊猫数据框中按组行数删除组

问题描述

我需要删除组中行数少于 3 的所有标记。

数据框:-

令牌 积极的
0 58 1
1 58 8
2 63 5
3 63 9
4 63 0
5 97 6
6 97 1

我过滤了少于 3 行的组,但是如何从主数据框中删除这些组?

c_df = df.groupby('token').agg('count')
sc_df = c_df.loc[c_df['active'] < 3]
print(sc_df)

当前结果:-

令牌 积极的
58 2
97 2

标签: pythonpandaspandas-groupby

解决方案


您可以使用切片:

df = df[df.groupby('token')['active'].transform('count').ge(3)]

输出:

   token  active
2     63       5
3     63       9
4     63       0

推荐阅读