如何按Name/UPC相同条件生成库存汇总Total列?
库存总数量计算方案
直接用pandas的分组+transform方法就能实现你的需求,不用复杂的if条件,代码简单高效:
步骤示例
- 导入pandas并构造模拟库存数据
import pandas as pd # 模拟你的库存条目:Name为商品名,UPC为条码,subTotal为单条采购的小计数量 df = pd.DataFrame({ "Name": ["Febreze", "Febreze", "健怡可乐六连包", "健怡可乐六连包"], "UPC": ["12345", "12345", "67890", "67890"], "subTotal": [12, 12, 12, 12] })
- 按分组键计算总库存并映射回原表
# 按UPC分组汇总subTotal,生成Total列(每一行都会显示对应商品的总库存) df["Total"] = df.groupby("UPC")["subTotal"].transform("sum") # 若想按Name分组统计,只需把上面的"UPC"替换成"Name" # df["Total"] = df.groupby("Name")["subTotal"].transform("sum")
- 最终输出结果示例
Name UPC subTotal Total 0 Febreze 12345 12 24 1 Febreze 12345 12 24 2 健怡可乐六连包 67890 12 24 3 健怡可乐六连包 67890 12 24
这样不管有多少条同商品的采购记录,每一行都会显示该商品的累计总库存数量,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者bData
相关产品推荐
相关产品推荐

