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

Pandas读取CSV丢失自定义索引问题求助

解决Pandas读取CSV丢失自定义索引的问题

问题核心是:保存CSV时自定义索引会被写入为单独一列,但pd.read_csv()默认不会把这一列识别为索引,所以会自动生成新的默认索引。以下是两种场景的解决方法:

场景1:已经保存好CSV文件

直接在pd.read_csv()中指定index_col参数,明确告诉Pandas哪一列是原索引:

  • 若原索引是CSV的第一列,用索引位置指定:
df_read = pd.read_csv('your_file.csv', index_col=0)
  • 若保存时给索引列设置了名称(比如用df.to_csv(..., index_label='my_index')),可以直接用列名指定:
df_read = pd.read_csv('your_file.csv', index_col='my_index')

场景2:还未保存CSV文件(提前规避问题)

保存时确保索引被写入(默认index=True,可显式声明),还能给索引列加名称,方便后续读取:

import pandas as pd

# 创建带自定义索引的DataFrame
data = {'score': [85, 92, 78]}
df = pd.DataFrame(data, index=['Alice', 'Bob', 'Charlie'])

# 保存时写入索引并给索引列命名(命名可选)
df.to_csv('scores.csv', index=True, index_label='name')

# 读取时直接用索引列名指定
df_read = pd.read_csv('scores.csv', index_col='name')

这样读取后的DataFrame就能完全保留原来的自定义索引,不会生成新的默认索引。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:35:22