【发布时间】:2021-03-25 21:00:46
【问题描述】:
我有一个 df:
player_id action level
1 miss level_1
1 kill level_1
1 miss level_1
1 miss level_1
1 miss level_1
1 miss level_2
2 miss level_3
2 miss level_3
2 kill level_3
3 miss level_3
如何计算每个级别中每位用户的平均击杀数?我已经试过了:
d = df.groupby(['level', 'player_id', 'action']).level.count()
这给了我一个熊猫系列:
level player_id action
level_1 1 kill 1
miss 4
level_2 1 miss 1
level_3 2 kill 1
miss 2
3 miss 1
我只想进一步了解每个级别每个玩家的平均击杀数。最终的 df 应该是这样的:
level average_kills
level_1 0.2
level_2 0
level_3 0.1667
【问题讨论】:
-
d.xs('kill', level=2).sum(level=0)/d.sum(level=0)
标签: python-3.x pandas dataframe pandas-groupby