如何将每种销售产品的数量相加,乘以每销售产品的销售数量?

时间:2019-08-18 16:52:51

标签: python pandas

在此数据库中,我有两列,一列是与销售关联的产品ID,另一列是在同一销售期间该商品的销售数量。我试图弄清楚如何获得每个项目的完整记录。销售量成千上万,因此在“ ID”列中重复了许多产品ID。

我不确定如何找到解决方案。

任何帮助将不胜感激。

列示例:

           PRODUCT_ID  SLS_QTY
0        1164203101        2
1       72047351000        1
2        3600025824        1
3        7205861079        1
4       82775501058        1

2 个答案:

答案 0 :(得分:1)

您可以先依次使用groupbymerge

sls = sls.groupby('PRODUCT_ID',as_index=False).SLS_QTY.sum()
Totally = sls.merge(price, on = 'PRODUCT_ID', how = 'left')
Totally['sales']=Totally['SLS_QTY']*Totally['price']

答案 1 :(得分:0)

首先通过执行操作获得所有唯一的产品ID

all_product_ids = df['PRODUCT_ID'].unique()

这将返回一个包含所有唯一产品ID的numpy数组。接下来,对于每个产品ID,您要返回具有该产品ID的每个数据实例(行)。然后我们可以将信息存储在字典中。

sales_dict = {}
for product in all_product_ids:
    info = df.loc[df['PRODUCT_ID'] == product]
    total_sales = sum(info['SLS_QTY'].values)
    sales_dict[product] = total_sales

这可能不是最有效的方法,但是应该可以完成工作。