如何基于熊猫中的两列进行分组?

新手上路,请多包涵

以前可能有人问过类似的问题,但我找不到适合我的问题的确切问题。我想按基于两列的数据框进行分组。例如做这个

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”和相同“产品”的“数量”列的总和。

原文由 ARASH 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 309
1 个回答

您需要 groupby mean 参数 as_index=False 返回 DataFrame 返回—-

 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

原文由 jezrael 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题