Python 如何组合单个订单的值?
我不知道如何将具有相同productcode的行组合在一起,以合计它们的总订单值(quantityordered*priceeach)。例如:Python 如何组合单个订单的值?,python,pandas,Python,Pandas,我不知道如何将具有相同productcode的行组合在一起,以合计它们的总订单值(quantityordered*priceeach)。例如: orderdetails_df Out[24]: ordernumber productcode quantityordered priceeach orderlinenumber 0 10100 S18_1749 30 171.70 3 1
orderdetails_df
Out[24]:
ordernumber productcode quantityordered priceeach orderlinenumber
0 10100 S18_1749 30 171.70 3
1 10100 S18_2248 50 67.80 2
2 10100 S18_4409 22 86.51 4
3 10100 S24_3969 49 34.47 1
4 10101 S18_2325 25 151.28 4
... ... ... ... ...
2991 10425 S24_2300 49 112.46 9
2992 10425 S24_2840 31 33.24 5
2993 10425 S32_1268 41 86.68 11
2994 10425 S32_2509 11 43.83 6
2995 10425 S50_1392 18 105.33
我需要将所有订单号10100与其对应的价格值(30*171.70等)组合起来,以获得整个订单的总价值。是否有一些代码可以像wise ORDERNUMBER一样组合并输出它们的总值
非常感谢您的帮助。您需要计算订单价值,然后使用,对每个订单的订单价值求和
df['order_value'] = df['quantityordered'] * df['priceeach']
df.groupby('ordernumber')['order_value'].sum().reset_index(name='total_order_value')
输出
ordernumber total_order_value
0 10100 12133.25
1 10101 3782.00
2 10425 10576.99
让我们分别做这些事情:
df['pricequantity'] = df['priceeach'] * df['quantityordered']
然后我们可以将价格总结为:
df.groupby('ordernumber')['pricequantity'].sum()
对于给定的样本数据(除了最后一行缺少orderlinenumber
),我们得到:
工作得很好。你是我的英雄,很高兴它成功了。请随意回答我的问题。快乐编码@马修林
>>> df.groupby('ordernumber')['pricequantity'].sum()
ordernumber
10100 12133.25
10101 3782.00
10425 10576.99
Name: pricequantity, dtype: float64