创建Dataframe,聚合数据并将其放入下一列

2024-04-18 12:24:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据集:

Country   Name      Match   Result
US        Martin    Win     3
US        Martin    Lose    1
US        Martin    Draw    5
UK        Luther    Win     5
UK        Luther    Draw    3

我想再加上两列,分别是赢、输和平局的总和,以及每场比赛的百分比,如下所示:

Country   Name      Match   Result  All Percentage
US        Martin    Win     3       8   0.375
US        Martin    Lose    1       8   0.125
US        Martin    Draw    5       8   0.625
UK        Luther    Win     6       10  0.6
UK        Luther    Draw    4       10  0.4

我已经试过使用groupby,得到了大小完全匹配的结果。但是我不知道怎么把它放在下一个专栏里。你知道吗

谢谢


Tags: 数据namematchresultcountrywinusmartin
1条回答
网友
1楼 · 发布于 2024-04-18 12:24:12

IIUC您需要^{},示例DataFrame已更改:

df['All'] = df.groupby(['Country','Name'])['Result'].transform('sum')
df['Percentage'] = df.Result.div(df.All)
print (df)
  Country    Name Match  Result  All  Percentage
0      US  Martin   Win       2    8       0.250
1      US  Martin  Lose       1    8       0.125
2      US  Martin  Draw       5    8       0.625
3      UK  Luther   Win       6   10       0.600
4      UK  Luther  Draw       4   10       0.400

相关问题 更多 >