以前可能会问过类似的问题,但是我找不到适合我问题的确切问题。
我想通过基于两列的数据框进行分组。
为了使这一点

id product quantity
1  A       2
1  A       3
1  B       2
2  A       1
2  B       1
3  B       2
3  B       1

变成这个:
id product quantity
1  A       5
1  B       2
2  A       1
2  B       1
3  B       3

表示相同“id”和相同“product”在“quantity”列上的总和。

最佳答案

您需要带有参数groupby as_index=False ,以返回DataFrame并汇总mean:

df = df.groupby(['id','product'], as_index=False)['quantity'].sum()
print (df)
   id product  quantity
0   1       A         5
1   1       B         2
2   2       A         1
3   2       B         1
4   3       B         3

或添加 reset_index :
df = df.groupby(['id','product'])['quantity'].sum().reset_index()
print (df)
   id product  quantity
0   1       A         5
1   1       B         2
2   2       A         1
3   2       B         1
4   3       B         3

关于python - 如何根据 Pandas 中的两列进行分组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43222137/

10-09 18:51