初学者问题。这似乎应该是一个简单的操作,但我无法从阅读文档中弄明白。
我有一个这种结构的df:
|integer_id|int_field_1|int_field_2|
integer_id列是非唯一的,所以我想将df按integer_id分组并将两个字段相加。
等效的SQL是:
SELECT integer_id, SUM(int_field_1), SUM(int_field_2) FROM tbl
GROUP BY integer_id
有关最简单方法的任何建议吗?
编辑:包括输入/输出
Input:
integer_id int_field_1 int_field_2
2656 36 36
2656 36 36
9702 2 2
9702 1 1
使用df.groupby('integer_id')输出.sum():
integer_id int_field_1 int_field_2
2656 72 72
9702 3 3
答案 0 :(得分:10)
答案 1 :(得分:1)
You can do it
data.groupby(by=['account_ID'])['purchases'].sum()
答案 2 :(得分:0)
.agg()函数的变体;提供以下功能:(1)持久化类型DataFrame,(2)应用平均值,计数,求和等,(3)在保持易读性的同时在多个列上启用groupby。
df.groupby(['att1', 'att2']).agg({'att1': "count", 'att3': "sum",'att4': 'mean'})
使用您的值...
df.groupby(['integer_id']).agg({'int_field_1': "sum", 'int_field_2': "sum" })