如何在Python中删除DataFrame的默认索引列
解决Pandas默认索引列无法删除的问题
导出数据时不包含索引列
如果是要把处理后的DataFrame导出为CSV、Excel等格式,不想带上左侧的默认索引,直接在导出方法里加index=False参数就行:
- 导出CSV:
df.to_csv('output.csv', index=False)
- 导出Excel:
df.to_excel('output.xlsx', index=False)
显示时隐藏索引
要是只是不想在Notebook或控制台里看到左侧的索引列,用样式方法就能实现:
display(df.style.hide(axis='index'))
如果是Jupyter环境,也可以临时设置全局显示规则默认隐藏索引(不建议全局修改,按需使用):
import pandas as pd pd.set_option('display.show_index', False)
重置并移除自定义索引
如果你的DataFrame在melt后带的是继承自原数据的自定义索引,想换成默认的连续索引并删掉原索引,用reset_index(drop=True):
# 先执行你的melt操作 df = df.melt(id_vars=['your_id_col'], value_vars=['col1', 'col2']) # 重置并删除原索引 df = df.reset_index(drop=True)
注意:Pandas的DataFrame必须有索引结构,这里是把非默认的原索引彻底移除,换成从0开始的默认索引,并非完全消除索引。
避坑提醒
别用df.drop(df.index.name, axis=1)来删默认索引——默认索引没有名称,这种方法根本无效。默认索引是DataFrame的固有属性,没法完全删除,但通过上面的方法可以在显示或导出时隐藏它。
内容的提问来源于stack exchange,提问作者Mr Pool
相关产品推荐
相关产品推荐

