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

Pandas透视时行列组合转列头固定输出列数的实现方法

Pandas透视固定生成Part1-Part8全量列实现方案

不需要追加虚拟行再做清理,透视完成后直接通过列重索引补全要求的字段即可,代码更简洁、执行效率更高。

完整代码

# 保留原有透视逻辑
s = df.pivot_table(
    index=['Machine', 'Time'], 
    columns=df.Part.astype(str).radd('Part'),
    values=['PowerA', 'PowerB'],
    fill_value=-1
).swaplevel(1, 0, axis=1).sort_index(level=0, axis=1)

s.columns = s.columns.map('_'.join)
s.reset_index(inplace=True)

# 生成规则内的全量固定列名:Part1~Part8分别匹配PowerA、PowerB两个指标
full_metric_cols = [f'Part{i}_{metric}' for i in range(1, 9) for metric in ['PowerA', 'PowerB']]
# 对齐列,缺失列自动填充为-1
s = s.reindex(columns=['Machine', 'Time'] + full_metric_cols, fill_value=-1)

逻辑说明

  • 原有透视逻辑无需改动,先生成源数据中实际存在的Part对应的指标列
  • 按业务规则预生成全部16个必填指标的列名,列顺序固定为Part1_PowerA、Part1_PowerB依次类推直到Part8_PowerB
  • 调用reindex方法做列对齐:传入包含索引列(Machine、Time)和全量指标列的列列表,源数据中不存在的列会被自动创建,通过fill_value=-1参数直接将缺失值统一填充为要求的-1,无需额外做缺失值替换操作

运行结果

Machine   Time  Part1_PowerA  Part1_PowerB  Part2_PowerA  Part2_PowerB  Part3_PowerA  Part3_PowerB  Part4_PowerA  Part4_PowerB  Part5_PowerA  Part5_PowerB  Part6_PowerA  Part6_PowerB  Part7_PowerA  Part7_PowerB  Part8_PowerA  Part8_PowerB
0        1  20:30           0.1           0.4           0.9           0.7            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1
1        1  20:31           0.3           0.1           0.2           0.3            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1
2        2  20:30           0.2           0.5          -1.0          -1.0            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1
3        2  20:31           0.8           0.4          -1.0          -1.0            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1            -1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 01:42:37