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

在Pandas中基于不同名称列实现左连接的方法

Pandas基于指定列实现左连接

首先是你给出的两个DataFrame定义:

import pandas as pd

left = pd.DataFrame(
    {"A": ["A0", "A1", "A2"], "B": ["B0", "B1", "B2"]}
)

right = pd.DataFrame(
    {"C": ["A0", "A1", "A2"], "D": ["D0", "D2", "D3"]}
)

要基于left的A列和right的C列做左连接,直接用Pandas的merge方法指定连接规则,再调整列顺序就能得到预期输出:

# 执行左连接,指定左右表的匹配列
merged_df = pd.merge(left, right, how='left', left_on='A', right_on='C')

# 筛选需要的列并调整顺序,移除多余的C列
result_df = merged_df[['B', 'D', 'A']]

# 输出结果
print(result_df)

运行后得到的结果:

B   D   A
0  B0  D0  A0
1  B1  D2  A1
2  B2  D3  A2

关键参数说明

  • how='left':保证保留左表(left)的所有行,右表无匹配的行会自动填充NaN(本次示例所有行均能匹配)
  • left_on='A':指定左表用于匹配的列
  • right_on='C':指定右表用于匹配的列

内容的提问来源于stack exchange,提问作者four-eyes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:41:03