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

Python Pandas:基于值匹配的异名列合并两个DataFrame

Pandas DataFrame按不同列名关联合并解决方案

没问题,这种不同列名但值完全匹配的合并需求,用Pandas的merge()方法就能完美解决,正好契合你的场景。

核心实现代码

直接通过指定左右表的关联列,就能把两个DataFrame合并成你想要的结构:

import pandas as pd

# 初始化df1
data={"col1":["A","B","D","f"], "col2":[4,2,4,6], "col3":[7,6,9,11], "col4":[14,11,22,8], "multi":[1.4,2.5,1.6,2.2]}
df1=pd.DataFrame.from_dict(data)

# 初始化df2
data2={"col5":["A","B","D","f"], "col6":[345,55,44,16], "col7":[4,7,4,6], "col8":[1,5,3,9], "multi_2":[2,2,4,9]}
df2=pd.DataFrame.from_dict(data2)

# 执行合并:用col1和col5作为关联键
df3 = pd.merge(df1, df2, left_on='col1', right_on='col5', how='inner')

# (可选)如果不需要保留col5列,可以添加这行
# df3 = df3.drop('col5', axis=1)

print(df3)

参数说明

  • left_on='col1':指定左表(df1)的关联列
  • right_on='col5':指定右表(df2)的关联列
  • how='inner':因为你提到两列值完全匹配,内连接会保留所有匹配的行,正好符合你的需求

运行后得到的df3就和你给出的示例结构完全一致,包含两个表的所有列(如果保留col5的话会多这一列,你可以根据需求选择是否删除)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 18:37:49