gpt4 book ai didi

Pandas:按两列分组以获得另一列的总和

转载 作者:行者123 更新时间:2023-12-04 14:55:56 27 4
gpt4 key购买 nike

我查看了之前提出的大部分问题,但无法找到我的问题的答案:

我有以下 data.frame

           id   year month score num_attempts
0 483625 2010 01 50 1
1 967799 2009 03 50 1
2 213473 2005 09 100 1
3 498110 2010 12 60 1
5 187243 2010 01 100 1
6 508311 2005 10 15 1
7 486688 2005 10 50 1
8 212550 2005 10 500 1
10 136701 2005 09 25 1
11 471651 2010 01 50 1

我想获得以下数据框
year month sum_score sum_num_attempts
2009 03 50 1
2005 09 125 2
2010 12 60 1
2010 01 200 2
2005 10 565 3

这是我尝试过的:
sum_df = df.groupby(by=['year','month'])['score'].sum()

但这看起来并不高效和正确。如果我有多个列需要聚合,这似乎是一个非常昂贵的调用。例如,如果我有另一列 num_attempts并且只想按年月求和作为分数。

最佳答案

这应该是一种有效的方法:

sum_df = df.groupby(['year','month']).agg({'score': 'sum', 'num_attempts': 'sum'})

关于Pandas:按两列分组以获得另一列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40553002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com