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

如何调整Python Pandas列名位置解决数据错位问题

Pandas导入CSV列名错位问题解决方法

问题分析

你设置的列名列表["session"] + cords共137列,但CSV有效数据从第二列开始、共136列,导致列名与数据错位,最终y68列无数据。要实现第二列对应session列,只需调整数据读取和列名分配逻辑。

可行方案

方案1:读取时直接跳过第一列

通过iloc截取第二列及以后的数据,再分配目标列名:

import pandas as pd

cords = ["x1", "y1", ...., "x68", "y68"]
# 读取所有数据(无表头)
frame = pd.read_csv("hello.csv", sep=';', header=None)
# 保留第二列及以后的数据,并设置列名
frame = frame.iloc[:, 1:]
frame.columns = ["session"] + cords

方案2:保留第一列并调整列名映射

如果CSV第一列数据需要保留,可先临时命名再调整列名顺序:

import pandas as pd

cords = ["x1", "y1", ...., "x68", "y68"]
# 读取所有数据并临时命名
frame = pd.read_csv("hello.csv", sep=';', header=None)
# 重新分配列名:第一列设为临时名称,第二列开始对应session + cords
frame.columns = ["unused_col"] + ["session"] + cords
# 可选:删除无用的第一列
frame = frame.drop("unused_col", axis=1)

效果说明

两种方案都能让原CSV的第二列数据对应session列,后续列依次匹配x1到y68,解决y68列无数据的错位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:42:56