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