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

Pandas合并3个同ID列DataFrame时最后一个表关联错误如何解决

Pandas多DataFrame按ID合并关联错误修复方案

问题根因

  • 核心问题是三个DataFrame的ID列数据类型不统一:DF1的ID为int类型,DF2、DF3的ID为str类型,pandas执行merge操作时,不同数据类型的相同值会被判定为不匹配,导致第三个表关联结果异常
  • 额外注意:你的代码中使用how="outer"是外连接逻辑,不符合你要求的SQL内连接需求

修复步骤

  1. 统一所有表的ID列数据类型,此处统一转换为int类型(如果ID存在非数字的情况也可统一转换为str类型):
DF1['ID'] = DF1['ID'].astype(int)
DF2['ID'] = DF2['ID'].astype(int)
DF3['ID'] = DF3['ID'].astype(int)
  1. 调整merge的连接方式为内连接,执行合并:
from functools import reduce
import pandas as pd

dfs = [DF1, DF2, DF3]
df_final = reduce(lambda left, right: pd.merge(left, right, on=["ID"], how="inner"), dfs)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 13:06:04