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

Pandas两个DataFrame按user匹配并拼接结果列到其中一个的实现方案

Pandas实现代码

你可以通过两种常见方式实现该需求:

方式1:表关联后拼接字段

先按user字段关联两个表,区分重名字段后拼接内容:

import pandas as pd

# 原始数据
df = pd.DataFrame({'user': ['A', 'B', 'C'], 
                   'results': ['hi how why', 'which how raw', 'final what is']})
df_v2 = pd.DataFrame({'user': ['A', 'B', 'C'], 
                   'results': ['John', 'Peter', 'Anne']}) 

# 按user合并,给第二个表的results列加后缀区分
df_merge = pd.merge(df, df_v2, on='user', suffixes=('', '_v2'))
# 拼接两个结果列,用空格分隔
df_merge['results'] = df_merge['results'] + ' ' + df_merge['results_v2']
# 提取目标字段得到最终结果
df_new = df_merge[['user', 'results']]

方式2:字典映射直接拼接

如果两个表的user字段完全匹配,不需要处理匹配失败的情况,可以用更简洁的映射写法:

# 生成user到第二个表results值的映射字典
user_map = df_v2.set_index('user')['results'].to_dict()
# 直接拼接内容
df['results'] = df['results'] + ' ' + df['user'].map(user_map)
df_new = df

两种方式运行后得到的df_new都和你需要的输出格式完全一致。

内容的提问来源于stack exchange,提问作者isaac.af95

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 19:57:03