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

使用Python Pandas关联销售表与商品表的技术求助

表格匹配解决方案

问题核心

销售表的cod是纯数字编码,而商品表的item sold是「编码 - 商品名称」的组合格式,直接使用merge会因匹配键格式不统一失败,这是你之前尝试未成功的关键原因。

解决步骤(基于Python Pandas)

假设销售表变量名为sales_df,商品表变量名为item_df:

  1. 从商品表提取匹配用的编码列
    拆分item sold列,提取出纯编码并转为和销售表cod一致的整数类型:

    import pandas as pd
    
    # 拆分编码与商品名称,提取编码列
    item_df['cod'] = item_df['item sold'].str.split(' - ', expand=True)[0].astype(int)
    
  2. 执行匹配合并
    以cod为匹配键,将商品表的商品名称、价格合并到销售表:

    # 左连接保留销售表所有数据,匹配对应商品信息
    final_df = pd.merge(sales_df, item_df[['cod', 'item sold', 'price']], on='cod', how='left')
    # 提取纯商品名称(可选,匹配预期结果格式)
    final_df['item sold'] = final_df['item sold'].str.split(' - ', expand=True)[1]
    
  3. 调整列顺序(可选)
    按照预期结果调整列的排列:

    final_df = final_df[['cod', 'item sold', 'quantity sold', 'price']]
    

为什么之前的方法失效?

  • merge:未统一匹配键的格式与名称,两张表没有可直接匹配的列
  • concatenate:仅用于行/列的直接拼接,不支持按条件匹配合并数据
  • apply:若未正确处理编码提取与匹配逻辑,会因效率或匹配规则问题失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:06:32