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

如何在pandas DataFrame透视时生成MultiIndex多级列结构

实现方法

你可以直接用pandas内置的透视方法完成该需求,两种常用实现路径如下:

方法1:直接用pivot方法

指定索引、透视列和取值列即可,自动生成多级列索引:

import pandas as pd

# 假设原始数据存在变量df中
pivot_result = df.pivot(
    index="ID",
    columns="Date",
    values=["Value 1", "Value 2"]
)

方法2:用set_index+unstack组合实现

先将ID和Date设为复合索引,再把Date维度展开到列上:

pivot_result = df.set_index(["ID", "Date"]).unstack(level="Date")

两种方法得到的结果完全符合你需要的MultiIndex列结构,第一层为Value 1/Value 2,第二层为年份2019/2020。如果需要调整列的排序规则,可以额外对列索引执行排序:

# 按第一层列名排序,再按第二层年份升序
pivot_result = pivot_result.sort_index(axis=1, level=[0,1])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:09:01