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

Pandas如何调整透视表多级列顺序 实现B值为一级列头格式

pandas透视表调整列层级顺序实现方案

你调用pivot时传入多个values字段,pandas默认会将values列表的字段作为列MultiIndex的最外层,columns参数指定的B列取值作为内层,和你预期的层级顺序刚好相反,不需要重构原始数据,直接对透视结果的列层级做交换调整即可。

  • 第一步:执行原有的透视逻辑
pivot_res = df.pivot(index='A', columns='B', values=['C', 'D', 'E', 'F'])
  • 第二步:交换列的层级顺序,重排列对齐结构
# axis=1指定操作列维度,swaplevel交换两层索引位置,sort_index按一级列归类排序
final_res = pivot_res.swaplevel(axis=1).sort_index(axis=1)

如果不需要保留列索引的名称(比如输出中最顶部的B标识),可以追加一行代码清理:

final_res.columns.names = (None, None)

效果验证

用测试数据跑上述代码,输出结构完全匹配预期:

v1                v2         
    C  D   E   F     C  D   E   F
A                             
a1  1  5   9  13     2  6  10  14
a2  3  7  11  15     4  8  12  16

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 07:06:22