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

Pandas长表转宽表时如何实现指定的多级表头输出格式

实现方案

这个需求可以实现,核心是给pivot后的宽表设置多层列索引,pandas会自动合并相同的上层表头,刚好匹配你需要的格式。

完整代码示例

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    "COL1": ["A", "A"],
    "COL2": ["XXXX", "YYYY"],
    "Frequency": [1022919, 224847]
})

# 第一步:执行pivot得到基础宽表,并把索引COL1转为普通列
pivot_df = df.pivot_table(index=["COL1"], columns='COL2', values='Frequency').reset_index()

# 第二步:构造双层列索引
# 通用写法,适配COL2任意数量的取值
col_tuples = [("COL1", "Frequency")] + [("COL2", col_val) for col_val in pivot_df.columns[1:]]
pivot_df.columns = pd.MultiIndex.from_tuples(col_tuples)

# 输出结果
print(pivot_df)

输出效果

运行后打印的结果格式如下,和你需要的结构完全一致:

COL1      COL2         
  Frequency      XXXX    YYYY
0         A  1022919  224847

pandas渲染多层索引时会自动合并上层相同的表头,在Jupyter Notebook、导出Excel等场景都会显示为合并单元格的样式,完全匹配你给出的表格结构。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:45:03