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

Pandas合并不同长度数据集:保留左表全量行并匹配右表字段

问题原因

你之前的两种写法返回仅800行的核心原因是都使用了**内连接(inner)**逻辑:内连接只会保留两个表中Name字段取值一致的交集数据,自然行数和更小的df2对齐。

正确实现方法

方法1:使用merge左连接(最推荐)

左连接(how='left')会完整保留左表(此处即放在前面的df1)的所有行,右表df2中匹配不到的字段自动填充空值,完全符合你的需求:

df = df1.merge(df2, how='left', on='Name')

运行后返回的df行数就是df1的1200行,df2缺失的姓名对应的Country、Telephone字段会自动留空。

方法2:使用join方法

如果偏好基于索引拼接,可使用join方法指定左连接逻辑:

df = df1.set_index('Name').join(df2.set_index('Name'), how='left').reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:54:04