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

Python Pandas如何反转MultiIndex列层级以调整列排列顺序

Pandas透视表列MultiIndex调整方案

你执行df2=df2.pivot(index='rec_num', columns='Unique ID', values=['Maintenance Expense Date', 'Maintenance Expense'])后,列层级是**[指标类型, Unique ID]**,导致同ID的两个列被拆分。要让每个Unique ID对应的日期和费用列成对相邻,只需调整列的MultiIndex层级顺序或重新排列列:

方法一:交换层级并排序(通用快速)

通过swaplevel交换列的两个层级,再按Unique ID层级排序,即可让同ID的列聚合在一起:

df2 = df2.swaplevel(axis=1).sort_index(axis=1, level=0)

方法二:自定义列顺序(精确控制)

如果需要强制每个ID下先显示Maintenance Expense Date再显示Maintenance Expense,可以手动构建列列表后重新索引:

# 遍历所有Unique ID,按顺序组合列名
custom_cols = []
for uid in df2.columns.get_level_values(1).unique():
    custom_cols.append(('Maintenance  Expense Date', uid))
    custom_cols.append(('Maintenance  Expense', uid))
# 重新设置列顺序
df2 = df2[custom_cols]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:42:12