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

如何在Pandas转置DataFrame时去除Unnamed:1多级索引?

解决转置后出现Unnamed:1索引的问题

问题场景

使用以下代码读取CSV文件并处理:

ldf_raw_data = pd.read_csv(lstr_file_path, index_col=0)
ldf_raw_two = (ldf_raw_data.dropna()).T

目标CSV内容如下:

Salary Slip,
,
Employee Name,Aditi Aggarwal
Salary Period,June 2019
Employer Name,Hewlett Packard Enterprise

转置后出现Unnamed:1作为索引,需要移除该索引以得到干净的输出结构。

解决方案

方法1:读取阶段预处理,从根源避免无效列

CSV前两行是无效标题和空行,有效数据为键-值对结构,读取时直接跳过无效行并指定列名,可杜绝Unnamed:1列的生成:

# 跳过前两行,指定有效列名
ldf_raw_data = pd.read_csv(lstr_file_path, skiprows=2, names=['Item', 'Value'], index_col=0)
# 直接转置即可得到目标结构
ldf_raw_two = ldf_raw_data.T

方法2:基于现有流程调整,清理多余索引

若需保留原读取逻辑,可在转置后直接清理无效索引:

ldf_raw_data = pd.read_csv(lstr_file_path, index_col=0)
# 过滤空行并转置,随后删除Unnamed:1对应的索引行
ldf_raw_two = ldf_raw_data.dropna().T.drop('Unnamed:1', axis=0)

原理说明

原CSV前两行的非标准结构,导致pd.read_csv自动生成了无列名的Unnamed:1列,转置后该列名转化为索引的一部分。通过跳过无效行或转置后删除对应索引,即可得到预期的干净数据结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 14:24:53