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

如何根据Pandas DataFrame列值为索引添加不同前缀解决重复索引问题

解决DataFrame重复索引及选择性添加前缀问题

核心思路

通过字典映射建立column1值与前缀的对应关系,将前缀与原索引拼接生成唯一索引,解决重复索引导致的reindex报错问题。

具体实现代码

import pandas as pd

# 构造示例df2(和你提供的结构一致)
data = {
    'column1': ['sample_a', 'sample_a', 'sample_b', 'sample_c'],
    'column2': [1, 3, 2, 3]
}
df2 = pd.DataFrame(data, index=['A', 'B', 'B', 'C'])

# 1. 定义column1到前缀的映射字典,可根据需求扩展
prefix_map = {
    'sample_a': 'a_',
    'sample_b': 'b_',
    'sample_c': 'c_'
}

# 2. 生成新索引:前缀 + 原索引(转字符串确保拼接兼容所有索引类型)
df2.index = df2['column1'].map(prefix_map) + df2.index.astype(str)

# 查看处理后的结果
print(df2)

执行结果

处理后的df2结构与预期完全一致:

indexcolumn1column2
a_Asample_a1
a_Bsample_a3
b_Bsample_b2
c_Csample_c3

后续操作

此时df2的索引已完全唯一,可正常执行df2 = df2.reindex(df.index)操作,不会再触发cannot reindex on an axis with duplicate labels错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:55:24