pandas重新生成索引的方法

晚来风
晚来风
发布时间:2026-10-14 | 4人浏览过
原创

本文介绍在pandas数据处理中,筛选数据导致索引从非零值开始(如600多)时的解决方案。通过对比reindex引入NaN值的局限性,重点讲解使用set_index(drop=True)方法重新生成从0开始的连续索引,并强调需重新赋值以生效。

pandas索引不连续问题背景

在进行数据处理时,常会遇到筛选数据后索引不连续的情况,例如索引从600多开始,而我们需要将数据的下标重新从0开始。

尝试使用reindex方法

面对这种情况,首先想到的处理思路是:

reindex代码示例


df.reindex(range(length))

然而,检查数据后发现,0到624之间的值全部为NaN,这显然不符合我们的需求。

经过查阅相关资料,了解到:

pandas调用reindex方法后,会根据新索引对数据进行重排。如果某个索引值当前不存在,就会引入缺失值;

可以通过fill_value参数填充默认值,也可以通过method参数设置填充方法;

使用set_index重新生成索引

在同事的帮助下,找到了更合适的解决方法:

使用df_new = df.set_index(drop=True)可以重新生成索引,注意该方法不会原地修改,因此需要重新赋值。

操作后的效果是,原本625行的数据,其下标成功从0开始连续排列。

以上关于pandas重新生成索引的方法分享完毕,希望能为大家提供参考,也希望大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表