具有均值的 Pandas 数据透视表

Ama*_*ani 4 python pandas

我有一个 pandas 数据框 df,看起来像这样;

index  New  Old  MAP      Limit  count
1       93   35   54       > 18      1
2      163   93  116       > 18      1
3      134   78   96       > 18      1
4      117   81   93       > 18      1
5      194  108  136       > 18      1
6      125   57   79      <= 18      1
7       66   39   48       > 18      1
8      120   83   95       > 18      1
9      150   98  115       > 18      1
10     149   99  115       > 18      1
11     148   85  106       > 18      1
12      92   55   67      <= 18      1
13      64   24   37       > 18      1
14      84   53   63       > 18      1
15      99   70   79       > 18      1
Run Code Online (Sandbox Code Playgroud)

我需要创建一个如下所示的数据透视表

Limit   <=18   >18
New      xx1   xx2
Old      xx3   xx4
MAP      xx5   xx6
Run Code Online (Sandbox Code Playgroud)

其中值 xx1、xx2、xx3、xx4、xx5 和 xx6 是相应限制的新值、旧值和映射值的平均值。我怎样才能实现这个目标?我尝试了以下操作但没有成功。

table = df.pivot_table('count', index=['New', 'Old', 'MAP'], columns=['Limit'], aggfunc='mean')
Run Code Online (Sandbox Code Playgroud)

piR*_*red 5

解决方案

df.groupby('Limit')['New', 'Old', 'MAP'].mean().T

Limit  <= 18        > 18
New    108.5  121.615385
Old     56.0   72.769231
MAP     73.0   88.692308
Run Code Online (Sandbox Code Playgroud)