首页 > 解决方案 > 计算每个组内的元素数

问题描述

我有这个数据框df,其中包括nametype列:

name   type
Jay    c1
Rand   c2
Hano   c3
Jay    c1
Jay    c2
Rand   c2
Roger  c1
Roger  c1
Roger  c3

输出应该是这样的(对于每种类型,每个名称有多少;作为新列插入):

name   type   count
Jay    c1     2
Jay    c2     1
Rand   c2     2
Hano   c3     1
Roger  c1     2
Roger  c3     1

标签: pythonpandasgroup-bycount

解决方案


采用:

In [1060]: df.groupby(['name', 'type']).size().reset_index(name='count')
Out[1060]: 
    name type  count
0   Hano   c3      1
1    Jay   c1      2
2    Jay   c2      1
3   Rand   c2      2
4  Roger   c1      2
5  Roger   c3      1

推荐阅读