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

如何提取pandas DataFrame重复行并关联其对应唯一行的原始索引

实现代码

你可以通过两个DataFrame按公共字段匹配合并的方式实现需求,核心代码如下:

# 把uniqueDF的原始索引转为普通列,命名为copyOf
unique_idx_map = uniqueDF.reset_index(names='copyOf')
# 按name、subject、marks三个字段匹配,将对应索引合并到duplicateDF
duplicateDF = duplicateDF.merge(unique_idx_map, on=['name', 'subject', 'marks'], how='left').set_index(duplicateDF.index)

输出验证

执行后duplicateDF的结果和你预期完全一致:

name  subject marks  copyOf
4    Robert    Maths    98       3
10  Lucifer  English    98       9

逻辑说明

  • reset_index(names='copyOf')会把uniqueDF自带的原始索引(也就是你需要的对应行原始编号)转为普通列,避免匹配时丢失索引信息
  • 合并时用三个公共字段作为匹配键,保证重复行和唯一行的对应关系完全准确
  • 最后用set_index(duplicateDF.index)保留重复行原本的索引值,和你原来的输出格式一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:39:02