pandas重置索引的几种做法?教你恢复默认行号实用指南

作者:袖梨 2026-08-21

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“pandas重置索引的几种做法?教你恢复默认行号”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

目录
  • Pandas中DataFrame重置索引
  • 一、根据数据行的个数重新赋予索引
  • 二、采用reset_index(drop=True)
  • 三、采用reindex(labels=range(len(df))
  • 四、采用set_index()自定义索引
  • 总结

Pandas中DataFrame重置索引

在Pandas里,自定义索引后,有时候又需恢复默认索引。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(20).reshape(5,4),columns=['a','b','c','d'])
df
abcd
00123
14567
2891011
312131415
416171819
# 对df重排顺序,得到索引顺序倒序的数据
df = df.sort_values('a',ascending=False)
df
abcd
416171819
312131415
2891011
14567
00123

一、根据数据行的个数重新赋予索引

df.index = range(len(df))
df
abcd
016171819
112131415
2891011
34567
40123

二、采用reset_index(drop=True)

落到代码里,drop=True表示删除原索引,不然会在数据表格中新生成一列’index’数据

df = df.reset_index()
df
indexabcd
0416171819
1312131415
22891011
314567
400123
df = df.reset_index(drop=True)
df
abcd
016171819
112131415
2891011
34567
40123

三、采用reindex(labels=range(len(df))

df = df.reindex(labels=range(len(df)))
df
abcd
00123
14567
2891011
312131415
416171819

四、采用set_index()自定义索引

将原数据集中的列作为索引。

drop=True,默认,是将数据作为索引后,在表格中删除原数据

落到代码里,append=False,默认,是将新设置的索引设置为内层索引,原索引是外层索引

df = df.set_index(keys=['a'])
df
bcd
a
16171819
12131415
891011
4567
0123

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。

您可能感兴趣的文章:
  • pandas重置索引标签的实现示例
  • Pandas.DataFrame重置Series的索引index(reset_index)
  • Pandas reindex重置索引的采用
  • pandas中DataFrame重置索引的几种方法
  • 在Python中pandas.DataFrame重置索引名称的实例
  • python pandas 对series和dataframe的重置索引reindex方法

相关文章

精彩推荐