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

如何为pandas汇总后的商品表匹配添加对应Hs code列值

Pandas 给商品求和结果匹配对应Hs Code实现方法

你可以根据自己当前的数据处理进度,选下面两种方案里的一种即可:

  • 方案1:分组求和阶段直接带出Hs Code(效率最高,推荐)
    同一款商品对应的Hs Code是固定唯一值,你在做groupby聚合的时候,除了对元素列做求和,直接同步取对应Hs Code即可,不用后续二次关联。
    示例代码:
    import pandas as pd
    
    # df是你的原始DataFrame,把下面字段名替换成你表中实际的字段名即可
    # 假设你用来区分商品的分组字段是「商品名称」
    agg_result = df.groupby("商品名称", as_index=False).agg(
        # 所有需要求和的元素列都按这个格式写,列名替换成你实际的元素列名
        碳元素总和=("碳元素", "sum"),
        铝元素总和=("铝元素", "sum"),
        铁元素总和=("铁元素", "sum"),
        # 直接取同商品对应的Hs Code,同商品编码唯一取第一个即可
        Hs_Code=("Hs code", "first")
    )
    
  • 方案2:对已经生成的求和结果表做关联匹配
    如果你已经提前算好了每个商品的元素求和结果(结果表命名为sum_df,仅包含商品字段和各元素求和值),可以先从原始表提取商品和Hs Code的唯一映射,再做左连接匹配:
    # 提取商品和Hs Code的唯一对应关系,去重避免关联时出现重复行
    hs_map = df[["商品名称", "Hs code"]].drop_duplicates(subset="商品名称", keep="first")
    
    # 把Hs Code关联到已有的求和结果表
    final_result = sum_df.merge(
        hs_map,
        on="商品名称", # 关联字段和你分组用的商品字段保持一致
        how="left"
    )
    

校验提示:如果运行后发现结果表行数比你之前的求和结果表行数多,说明存在同一个商品对应多个不同Hs Code的异常数据,可以先用df.groupby("商品名称")["Hs code"].nunique()筛选出nunique()>1的商品先做数据清洗,再跑匹配逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:22:18