我有一个数据框。结构:
SEQ product_name prod_cost non-prd_cost mgmt grand_total
1 prod1 100 200 20 320
2 prod2 200 400 30 630
3 prod3 300 500 40 840
4 prod4 100 300 50 450
我想根据条件计算 sumproduct(在 excel 中)。条件基于 product_name。
假设我想计算一个名为
的变量sumprod_prod1_prd_prod3_mgmt = SUMPRODUCT(SEQ 1-4,product_name='prod1'_prod_cost and 'prod3'_mgmt)/2 = 100+40=140
我怎样才能在熊猫中做到这一点?
答案 0 :(得分:1)
虽然我对您的问题有些困惑,但由于 excel SUMPRODUCT 函数返回相应范围或数组的乘积之和,而您似乎想要单数组合的总和。
要获得所需的值:
sumprod_prod1_prd_prod3_mgmt = df[df['product_name'] == 'prod1']['prod_cost'].values[0]+df[df['prod_name']=='prod3']['mgmt'].values[0]
此解决方案为指定值提供单一结果。如果您需要提供与 Excel 相同功能的解决方案,请更新您的问题和示例以更好地定义您要查找的内容。