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

Pandas读取CSV时索引列名称引发列名错位问题

问题根源

列名整体偏移错位是因为CSV指定表头行的列数比实际数据行少1位:表头没有为第一列的时间戳预留对应字段名,pandas自动将第一列时间戳识别为索引后,会将表头的所有字段名依次匹配到索引后的后续列,最终出现列名整体右移、值和标签不对应的问题。

修复方案

在pd.read_csv()中新增index_col=0参数,明确告知pandas文件第1列(0索引位置)为索引列,读取时会自动对齐表头与数据列的映射关系。修复后代码如下:

import pandas as pd
file = '507_002117.csv'
print(file)
# 指定header位置、第0列为索引,同时自动解析时间格式
df = pd.read_csv(file, header=6, index_col=0, parse_dates=[0])
# 原切片取前11列是包含了未拆分的索引列,拆分索引后按需调整切片范围即可
df = df.iloc[:, :10]
print(df.head(5))
print(df['AlongTrack'])

注意事项

  • 如果不需要自动将时间戳解析为datetime类型,可以去掉parse_dates=[0]参数
  • 调整iloc切片前可以先执行print(open(file).readlines()[6])打印第7行表头内容,检查表头是否存在多余分隔符、空字段等格式问题,确认实际列数后再调整切片范围,避免多切/漏切列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 00:51:26