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

Pandas长格式DataFrame转带层级列头宽表的实现方法

长表转含不等长明细的多层列头宽表实现方案

pivot_table自带聚合逻辑,仅适合汇总统计场景,无法保留全量原始明细,按以下操作即可实现需求:

实现步骤

  • 为每个分组内的明细数据添加组内行序号
    由于不同试验组的数据点数量不一致,需要先给同组(同rd、ppi、trial)的每条数据分配从0开始的连续序号,作为宽表对齐的行索引:
    df['row_id'] = df.groupby(['rd', 'ppi', 'trial']).cumcount()
    
  • 调用pivot完成转置
    直接使用无聚合逻辑的pivot方法转置,再按需调整列层级顺序即可:
    # 基础转置
    wide_df = df.pivot(
        index='row_id',
        columns=['rd', 'ppi', 'trial'],
        values=['ext', 'load']
    )
    
    # 调整列层级为 rd -> ppi -> trial -> 指标(ext/load),不需要可省略
    wide_df = wide_df.swaplevel(0, 3, axis=1)\
                     .swaplevel(0, 2, axis=1)\
                     .swaplevel(0, 1, axis=1)\
                     .sort_index(axis=1)
    

效果说明

  • 所有原始明细数据100%保留,不会做任何均值、计数类聚合计算
  • 列头自动生成要求的多层级结构,层级顺序可通过swaplevel自由调整
  • 不同组数据量不一致时,数据量不足的位置自动填充NaN,不会报错或丢失长组数据

以提供的示例数据运行后,输出结构如下:

rd          7%                                                                 12%                                                                
ppi      5_ppi                     10_ppi                     5_ppi                     10_ppi                    
trial   trial_1           trial_2           trial_1           trial_2           trial_1           trial_2           trial_1           trial_2
row_id                                                                                                                                        
0       ext  0.287997  load  0.874457  ext  0.015054  load  0.886801  ext  0.291621  load  0.519084  ext  0.349199  load  0.235718  ext  0.725747  load  0.688157  ext  0.534276  load  0.794199  ext  0.494404  load  0.246841  ext  0.791440  load  0.372119
1       ext  0.783776  load  0.878291  ext  0.243617  load  0.234560  ext  0.627786  load  0.072551  ext  0.284535  load  0.328547  ext  0.656839  load  0.297645  ext  0.680596  load  0.381575  ext  0.148489  load  0.549250  ext  0.078047  load  0.552541

内容的提问来源于stack exchange,提问作者J. Day

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:36:47