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

如何使用pandas调换DataFrame多级列索引的层级顺序

Pandas多级列索引重排实现方法

你可以通过交换列索引层级后排序的方式实现需求,核心操作仅需2行代码:

# 交换列的两级索引位置
df.columns = df.columns.swaplevel(0, 1)
# 按第一级列索引对列排序
df = df.sort_index(axis=1, level=0)

你也可以用reorder_levels方法实现相同效果:

df = df.reorder_levels([1, 0], axis=1).sort_index(axis=1, level=0)

以下是完整可复现的测试代码:

import pandas as pd

# 构造原始测试数据
columns = pd.MultiIndex.from_product(
    [["stock1", "stock2", "stock3"], ["price", "volume"]]
)
df = pd.DataFrame(
    [[1,2,3,4,5,6], [2,3,4,5,6,7]],
    columns=columns
)

# 执行转换
df.columns = df.columns.swaplevel(0, 1)
df = df.sort_index(axis=1, level=0)

# 打印验证结果
print(df)

运行后输出的结构和你需要的目标结构完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:48:03