如何为重复索引的DataFrame重新生成连续索引?
解决Pandas DataFrame重复索引重置问题
原始DataFrame存在重复索引,影响Dash展示效果,需要将索引重置为连续的0、1、2:
原始数据:
datasource datavalue 0 aaaa.pdf 5 0 bbbbb.pdf 5 0 cccc.pdf 9
期望结果:
datasource datavalue 0 aaaa.pdf 5 1 bbbbb.pdf 5 2 cccc.pdf 9
尝试过程
- 最初执行
data_all.reset_index(),但未生效——因为Pandas的该方法默认返回新对象,不会修改原DataFrame,索引仍全为0。 - 改为赋值操作
data_all=data_all.reset_index()后,结果未达预期:原索引被保留为新增列,数据变为:
多出了index datasource datavalue 0 0 aaaa.pdf 5 1 0 bbbbb.pdf 5 2 0 cccc.pdf 9index列,不符合需求。
最终解决方案
使用reset_index()时添加drop=True参数,即可一步完成索引重置,且不保留原索引列:
data_all = data_all.reset_index(drop=True)
执行后将得到目标结果:索引变为连续的0、1、2,同时不会新增额外列。
内容的提问来源于stack exchange,提问作者KansaiRobot
相关产品推荐
相关产品推荐

