如何将删除行后的DataFrame重新索引为0-979连续序列?
重置DataFrame连续索引的几种实用方法
你删除部分行后索引不连续,以下是几种快速重置为0到979连续索引的方法:
方法1:用reset_index()一键重置(最常用)
这是Pandas里专门用来重置索引的方法,默认会把旧索引存成新列,要是不需要旧索引,加drop=True就行:
# 直接重置索引,丢弃旧索引 df.reset_index(drop=True, inplace=True)
要是想保留旧索引留作记录,就去掉drop=True:
# 重置索引,旧索引会变成名为"index"的新列 df.reset_index(inplace=True)
方法2:手动赋值连续序列
直接给索引赋值从0开始的整数序列,简单粗暴:
df.index = range(len(df))
如果习惯用numpy,也可以这么写:
import numpy as np df.index = np.arange(len(df))
方法3:用reindex()自定义索引(适合特殊场景)
如果需要指定非连续的自定义索引才用这个,要是只是要连续索引的话,前两种更高效。示例:
df = df.reindex(range(len(df)))
注意:这个方法如果遇到原索引没有的位置会插入NaN值,所以重置连续索引优先选前两种。
内容的提问来源于stack exchange,提问作者Tanul
相关产品推荐
相关产品推荐

