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

Pandas pivot_table如何按Article分组合并Status与Qty列值

你可以在原有pivot_table输出的基础上,通过交换列索引层级、调整排序实现需求,不需要修改原来的透视逻辑:

最简实现代码

# 保留你原来的pivot代码
pivot_df = pd.pivot_table(data=df, index=["Time"], columns=["Article"], values=["Status", "Qty"], aggfunc="last")
# 交换列的两个层级,再按列索引排序即可
pivot_df = pivot_df.swaplevel(axis=1).sort_index(axis=1)

固定值字段顺序(可选)

默认按字母排序的话,Status会排在Qty前面,如果要保证每个Article下先展示Qty再展示Status,可以加自定义排序逻辑:

pivot_df = pivot_df.swaplevel(axis=1)
# 自定义排序规则:先按Article排序,再按值字段的指定顺序排序
pivot_df = pivot_df.sort_index(
    axis=1,
    level=[0, 1],
    key=lambda idx: idx.map({"Qty": 0, "Status": 1}) if idx.name is None else idx
)

逻辑说明

  • swaplevel(axis=1):指定对列索引做层级交换,默认交换最顶层的两个层级,刚好可以把原来的[值字段, Article]顺序调整为[Article, 值字段]
  • sort_index(axis=1):对列索引排序,把同一个Article对应的两列合并到相邻位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:36:03