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

如何将Pandas拼接后的Int64Index转换为RangeIndex并打印?

这问题我碰到过好几次啦!其实原因很简单:你用pd.concat()拼接的时候,默认会保留每个原始DataFrame的原有索引,所以拼接后的索引会是各个df索引的集合,也就是Int64Index类型。要得到连续的RangeIndex格式,有两种常用方法:

方法1:拼接时直接指定忽略原有索引

这是最省事的方式,在concat()里加上ignore_index=True参数就行:

df = pd.concat([df1, df2, df3], ignore_index=True)

这样pandas会直接抛弃原来的所有索引,从0开始生成连续的整数索引,自动就是RangeIndex类型啦。

方法2:对已拼接好的DataFrame重置索引

如果已经完成拼接,不想重新跑一遍concat,那就用reset_index()方法,记得加上drop=True来丢掉原来的旧索引:

# 方式一:生成新的DataFrame对象
df = df.reset_index(drop=True)

# 方式二:直接在原DataFrame上修改(节省内存)
df.reset_index(drop=True, inplace=True)

执行完之后,再打印df.index就能看到你期望的RangeIndex(start=0, stop=xxx, step=1)格式了。

另外补充一句:RangeIndex是pandas专门为连续整数索引设计的高效类型,只要你的索引是连续无间断的整数,pandas就会自动采用它,所以上面两种方法都能完美达成你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:21:53