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

使用Pandas匹配两文件首列公共值拼接第二列数据的实现方法问询

实现代码

假设你读取的两个DataFrame分别命名为df1(对应File1)和df2(对应File2),有两种常用实现方式:

方式1:映射法(代码更简洁)

# 提取File2第一列的关键词做映射字典
match_map = df2.set_index(df2[0].str.extract(r'G=(.*)', expand=False))[1].to_dict()
# 直接给File1生成新列
df1[2] = df1[0].map(match_map)

# 如果需要字符串格式的'NaN'可取消注释下一行
# df1[2] = df1[2].fillna('NaN')

方式2:合并法(适合复杂关联场景)

# 提取File2的匹配键
df2['match_key'] = df2[0].str.extract(r'G=(.*)')
# 左连接保留File1全部行
res_df = df1.merge(
    df2[['match_key', 1]],
    left_on=0,
    right_on='match_key',
    how='left'
)
# 清理列名得到最终结果
res_df = res_df.drop(columns='match_key').rename(columns={'1_y': 2})

说明

两种方式输出结果都和你需求的File1#完全一致,匹配不到的位置默认填充pandas空值NaN,按需调整填充格式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:15:03