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

合并两个数据集获取目标格式输出的实现方法咨询

实现方案

核心逻辑

你要的结果核心是需要先把原有的单向客户对扩展为双向,再做属性匹配,两步即可完成:

  1. 复制df1,交换每行的Customer1和Customer2,得到反向客户对数据集
  2. 把原df1和反向的数据集合并,再和df2左连接匹配Customer1对应的Net、Recovered字段即可

Pandas 实现代码

import pandas as pd

# 生成反向客户对数据
df1_reverse = df1.copy()
df1_reverse[["Customer1", "Customer2"]] = df1_reverse[["Customer2", "Customer1"]]

# 合并原数据和反向数据,得到全量双向客户对
df_all_pairs = pd.concat([df1, df1_reverse], ignore_index=True)

# 关联df2获取Customer1的属性
df_output = pd.merge(
    df_all_pairs,
    df2,
    left_on="Customer1",
    right_on="All_Customers",
    how="left"
).drop(columns="All_Customers") # 删除匹配产生的冗余字段

运行后df_output就是你期望的结果,如果需要和你给出的示例顺序完全一致,可额外添加排序逻辑:

df_output = df_output.sort_values(by=["Customer1", "Customer2"], ignore_index=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:36:00