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

Pandas如何实现DF行列转置、设置列名并重置索引

Pandas DataFrame自定义转置实现方案

目标效果

对DataFrame做结构转换,最终满足:

  • 原有列转置为行
  • 转置生成的行作为新表的行索引
  • 原表中存储的字段名作为新表列标题,不保留在行内容中
    参考示例:
  • 转置前DF示例:转置前DF示例
  • 直接转置的错误结果示例:转置失败DF示例

最简实现

一行代码即可完成符合要求的转换:

# df为原始DataFrame变量名
new_df = df.set_index(df.columns[0]).T

实现逻辑

  1. set_index(df.columns[0]):将原表存储字段/指标名的第一列设置为行索引,提前将待作为新列名的内容放到转置后映射为列名的位置
  2. .T执行转置:转置后原行索引自动成为新表列名,原列名自动成为新表的行索引,完全匹配需求。

分步实现(适配自定义调整场景)

如果转换过程中需要做额外数据清洗、格式调整,可以拆分步骤执行:

# 1. 执行基础转置
new_df = df.T
# 2. 将转置后第一行(原表存储字段名的行)设置为新表列名
new_df.columns = new_df.iloc[0]
# 3. 移除已经被用作列名的第一行,仅保留有效数据
new_df = new_df.iloc[1:]

直接转置报错原因

直接调用df.T转置时,pandas默认会将原表的默认整数索引作为转置后的列名,不会自动识别存在第一行/第一列的业务字段名,因此会出现字段名混入行内容、列名显示为0/1/2默认序号的错误结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:57:11