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

Pandas Join操作产生多余重复项,仅需保留匹配的第一个实例

实现方法

你只需要先对df2做预处理,仅保留每个研究编号索引对应的第一条记录,再和df1关联即可,具体实现有两种常用方式:

方法1:按索引分组取首条

# 预处理df2:按索引分组,保留每组第一条记录
df2_dedup = df2.groupby(level=0).first()
# 执行关联,此时不会生成重复行
df1 = df1.join(df2_dedup)

方法2:按索引去重

# 预处理df2:过滤掉重复的索引,保留第一次出现的记录
df2_dedup = df2[~df2.index.duplicated(keep='first')]
# 执行关联
df1 = df1.join(df2_dedup)

说明

两种方法处理后的df2都会得到唯一索引的结构,和全量索引的df1关联时为1:1或1:0匹配,既不会生成重复行,也会完整保留df1的所有研究编号记录,未匹配到的Study字段会自动填充为空值NaN。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:27:04