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

为什么重置pandas DataFrame的索引时会出现新列?

reset_index() 生成 level_0 列的原因

level_0 是pandas处理索引转换时自动生成的默认列名,触发场景分为两种:

  • 连续两次调用无drop=True参数的reset_index():第一次调用会把旧索引转为index列,同时生成新的默认整数索引;第二次调用时,新的整数索引会被转为列,为了避免和已有的index列重名,pandas自动将其命名为level_0。
  • 待操作的DataFrame本身为多级索引(MultiIndex)结构:调用reset_index()时会将每一级索引依次转为普通列,第一级索引的默认列名即为level_0,后续层级依次命名为level_1、level_2等。
解决方法
  • 不需要保留旧索引时,调用reset_index()添加drop=True参数即可避免生成额外列:
    df = df.reset_index(drop=True)
  • 已经生成level_0列时直接删除即可:
    df = df.drop('level_0', axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:39:04