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

DataFrame中reset_index()无效果?使用inplace=True新增列如何处理?

问题1:reset_index() 没生效的原因

pandas 里的 reset_index() 默认返回一个重置索引后的新DataFrame,不会直接修改原数据框。你只调用了方法但没把返回结果赋值给 df,所以原 df 的索引完全没变。

正确写法是把返回值重新赋值给原变量:

data = [0,10,20,30,40,50]
df = pd.DataFrame(data, columns=['Numbers'])
df.drop(df.index[2:4], inplace=True)
df = df.reset_index()  # 将重置后的新DataFrame赋值给df
df

问题2:使用inplace=True后出现多余列的解决办法

用 inplace=True 时,reset_index() 默认会把原来的旧索引作为新列(列名为index)保留下来。如果不需要这个列,加上 drop=True 参数就能直接丢弃旧索引,只重置新的连续索引:

data = [0,10,20,30,40,50]
df = pd.DataFrame(data, columns=['Numbers'])
df.drop(df.index[2:4], inplace=True)
df.reset_index(inplace=True, drop=True)  # 添加drop=True参数
df

执行后得到的结果就是你想要的:

Numbers
0        0
1       10
2       40
3       50

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:01:00