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

Pandas如何将DataFrame行值转换为MultiIndex多级列头

实现方法

你之前的写法没有生效,是因为缺少了将行索引转为列层级、调整层级顺序的步骤,正确代码如下:

首先构造示例数据(你已有原df可以跳过这步):

import pandas as pd

# 模拟你提供的原始DataFrame
data = {
    "mem": [1, 4],
    "Admits": [2, 5],
    "AdmPerK": [3, 6]
}
df = pd.DataFrame(data, index=pd.Index(["JAN", "FEB"], name="Month"))

核心转换逻辑:

# 转换为目标结构
result = df.unstack().swaplevel().to_frame().T
# 可选:重置索引去掉默认生成的索引名
result = result.reset_index(drop=True)

代码逻辑说明:

  • df.unstack():将行索引的月份值转为列索引的第二层级,同时将原列名转为第一层级,输出多级索引的Series
  • swaplevel():调换两级列索引的顺序,让月份作为上层列头,指标(mem/Admits/AdmPerK)作为下层列头
  • to_frame().T:将多级索引Series转为DataFrame后转置,得到仅一行数据的目标结构

打印result即可得到你需要的输出样式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:48:02