You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于字典实现DataFrame中按动态仓库-门店规则汇总销售数据

解决动态按仓库统计销售总额的方案

核心思路

先将仓库-门店的映射字典反转成门店-仓库的一对一映射,再关联到销售数据表,最后按指定维度分组求和,后续只需更新映射字典即可重新计算。

具体步骤

  1. 定义仓库-门店映射字典
    根据分组信息创建字典(后续直接更新这个字典就能调整分组规则):

    # 示例:仓库为键,对应门店列表为值
    warehouse_store_map = {
        "仓库A": ["门店001", "门店002"],
        "仓库B": ["门店003", "门店004"],
        "仓库C": ["门店005"]
    }
    
  2. 反转字典为门店-仓库映射
    把一对多的仓库-门店关系转换成一对一的门店-仓库关系,方便后续映射到DataFrame:

    store_to_warehouse = {}
    for warehouse, stores in warehouse_store_map.items():
        for store in stores:
            store_to_warehouse[store] = warehouse
    
  3. 给销售表新增仓库列
    使用map方法将门店字段映射为对应的仓库:

    # 假设销售数据表DataFrame名为sales_df,门店字段名为"门店"
    sales_df["仓库"] = sales_df["门店"].map(store_to_warehouse)
    
  4. 按维度分组求和
    按日期、时段、仓库分组,统计销售总额:

    # 假设销售总额字段名为"销售总额",日期字段名为"日期",时段字段名为"时段"
    result_df = sales_df.groupby(["日期", "时段", "仓库"])["销售总额"].sum().reset_index()
    

补充说明

  • 后续只需修改warehouse_store_map字典里的门店归属,重复执行步骤2-4就能自动生成新的统计结果。
  • 如果销售表中有门店不在映射字典里,map后会出现NaN,可根据需求用fillna处理或过滤这些行。

内容的提问来源于stack exchange,提问作者New_to_python

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:30:04