首页 > 解决方案 > 通过另一列的值聚合数据框中的列?

问题描述

我有一个如下所示的数据集:

         location_id  ...  partner_code     product_code  value
24275            239  ...           AUT             8412      0
24496            239  ...           CHN             8412   1000
24742            239  ...           DEU             8412  20000
24831            239  ...           DNK             8412   4000
25094            239  ...           FRA             8412      0
...              ...  ...           ...              ...    ...
3490121          239  ...           KOR             2503   3000
3490152          239  ...           MYS             2503  15000
3490398          239  ...           CAN             2503      0
3490519          239  ...           IND             2503      0
3490597          239  ...           SGP             2503    350

我想按值聚合value列的product_code值,这样对于每个产品代码,只有一个值是所有合作伙伴的值的总和,应该如下所示:

         location_id  ...  partner_code     product_code  value
n                239  ...           ALL             8412  25000
...              ...  ...           ...              ...    ...
n                239  ...           ALL             2503  18350

我尝试使用类似: 的东西filtered_data = data.groupby('product_code').agg('value'),它创建了一个不可调用的 groupby 对象。

如何修改此代码以执行所需的聚合?

标签: pythonpandasdataframeaggregate

解决方案


不确定您想对其他列做什么,但这应该可以解决您的查询

data.groupby('product_code')['value'].sum()

推荐阅读