首页 > 解决方案 > 用于计算 2 列中的值的 Pandas groupby/pivot 表

问题描述

我有一个像这样的熊猫数据框

week  player_a  player_b
 1      True      True
 1      True     False
 1     False     False
 2     False      True
 2     False     False
 2      True     False

我想每周计算每个玩家的 True 和 False 的数量,但我似乎无法将其转化为方便的 pandas groupby 或数据透视表操作。期望的结果如下所示:

week            True  False
      player
 1   player_a     2     1
     player_b     1     2
 2   player_a     1     2
     player_b     1     2

标签: pythonpandas

解决方案


使用 pandas pivot_table 函数并按大小聚合。

df = df.pivot_table(index=['week','player'], columns='value', aggfunc='size', fill_value=0)

推荐阅读