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

pandas执行left join时如何在合并阶段忽略右表指定列

解决方案

可以直接在合并前裁剪右表列,这是大表关联场景下的标准性能优化方案,对比合并后再删列的实现性能提升非常明显。

实现代码

假设左表为df_left,右表为df_right,有两种常用写法:

  • 直接删除右表不需要的列后再合并:
# 提前删除右表无需保留的Gender、Emp_Type列,再执行left join
df_result = df_left.merge(
    df_right.drop(columns=["Gender", "Emp_Type"]),
    on="ID",
    how="left"
)
  • 更稳妥的显式指定右表需要保留的列(避免右表存在其他冗余字段被误带入):
# 仅保留右表的关联键ID和需要用到的业务列,再执行合并
df_result = df_left.merge(
    df_right[["ID", "你需要保留的右表列1", "你需要保留的右表列2"]],
    on="ID",
    how="left"
)

性能优化逻辑

大表merge的计算开销和参与运算的数据集总大小正相关,提前裁剪右表的无用列,会大幅降低merge过程中需要加载、运算、临时存储的数据量,全程不会让Gender、Emp_Type两列占用计算资源,自然就避免了合并后再删列的额外开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:36:03