Python 3.x 在Python中,分层Groupby然后按另一列进行值计数

Python 3.x 在Python中,分层Groupby然后按另一列进行值计数,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我在熊猫中有一个数据框,我想按“名称”分组,然后计算每个评级的数量 Ckey name rating 1 Tom B 2 Tom A 3 Ken C 4 Lily A 5 Lily A 6 Lily B 预期产量 name rating values_count Tom A 1 B

我在熊猫中有一个数据框,我想按“名称”分组,然后计算每个评级的数量

Ckey    name    rating
1        Tom      B
2        Tom      A
3        Ken      C
4        Lily     A
5        Lily     A
6        Lily     B
预期产量

name    rating  values_count
Tom        A        1
           B        1
Ken        C        1
Lily       A        2
           B        1
我的方法不起作用,请告诉我

df.groupby('name')['rating'].values_count()
使用:

或者,要将其作为数据帧返回,请使用:

df.groupby(['name','rating']).count()

             Ckey
name rating      
Ken  C          1
Lily A          2
     B          1
Tom  A          1
     B          1
或者,您的方法可行,但使用
value\u counts()
而不是
values\u count()
(我想这只是一个输入错误):

df.groupby(['name','rating']).count()

             Ckey
name rating      
Ken  C          1
Lily A          2
     B          1
Tom  A          1
     B          1
df.groupby('name')['rating'].value_counts()

name  rating
Ken   C         1
Lily  A         2
      B         1
Tom   A         1
      B         1
Name: rating, dtype: int64