我有客户ID和游戏名称的数据框。我想计算那些只玩过 1 个特定游戏的客户 ID 的数量
我的数据帧就像
id game
1 Rummy
2 Ludo
3 Panda
4 8 Ball Pool
5 Rummy
2 Rummy
4 Ludo
我想要的输出应该是
Game Count
Rummy 2
Panda 1
将DataFrame.drop_duplicates
与Series.value_counts
一起使用:
s = df.drop_duplicates('id', keep=False)['game'].value_counts()
print (s)
Rummy 2
Panda 1
Name: game, dtype: int64
如果需要 2 列数据帧:
df1 = (df.drop_duplicates('id', keep=False)['game']
.value_counts()
.rename_axis('game')
.reset_index(name='count'))
print (df1)
game count
0 Rummy 2
1 Panda 1