在此数据库中,我有两列,一列是与销售关联的产品ID,另一列是在同一销售期间该商品的销售数量。我试图弄清楚如何获得每个项目的完整记录。销售量成千上万,因此在“ ID”列中重复了许多产品ID。
我不确定如何找到解决方案。
任何帮助将不胜感激。
列示例:
PRODUCT_ID SLS_QTY
0 1164203101 2
1 72047351000 1
2 3600025824 1
3 7205861079 1
4 82775501058 1
答案 0 :(得分:1)
您可以先依次使用groupby
和merge
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
这可能不是最有效的方法,但是应该可以完成工作。