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

如何合并含重复ID的DataFrame?一对多合并方法咨询

实现DataFrame的一对多合并(基于productID)

核心解决方法

使用pandas的merge()函数即可自动处理这种一对多合并场景——当dfA中同一个productID对应多条采购记录时,函数会自动匹配dfB中对应的单条产品信息,并将其复制到每条匹配的采购记录上,无需额外配置特殊参数。

示例代码

import pandas as pd

# 构造示例采购数据dfA
dfA = pd.DataFrame({
    'purchaseID': [1, 2, 3],
    'productID': [432, 432, 567],
    'quantity': [1, 4, 7]
})

# 构造示例产品详情数据dfB
dfB = pd.DataFrame({
    'productID': [432, 567],
    'name': ['mower', 'cat']
})

# 基于productID执行合并
merged_df = pd.merge(dfA, dfB, on='productID')

合并结果

执行后得到的merged_df结构如下:

purchaseIDproductIDquantityname
14321mower
24324mower
35677cat

补充说明

  • 若需要保留dfA中所有采购记录(即使dfB中无对应productID),可将how参数设为'left',即pd.merge(dfA, dfB, on='productID', how='left'),未匹配到的name字段会显示为NaN。
  • 针对大数据量场景,确保两个DataFrame的productID列数据类型一致(如均为整数),可避免类型不匹配导致的合并错误或性能损耗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:48:22