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

Python中Pandas DataFrame转置并将Status值设为列名的实现问题

Pandas 转置实现方案

你之前使用的df.set_index('Status').T写法没有考虑按Name、Tahun分组,也会把不需要转置的公共维度转为行,因此不符合需求,可按以下逻辑实现:

import pandas as pd

# 核心处理代码
result = (
    df.set_index(["Name", "Tahun", "Status"])
    # 将Status的取值转为列头
    .unstack(level="Status")
    # 将Percentage、Value转为行维度的Type字段
    .stack(level=0)
    # 索引转为普通列
    .reset_index()
    # 重命名指标列
    .rename(columns={"level_2": "Type"})
    # 按预期调整列顺序
    [["X", "Y", "Z", "Type", "Name", "Tahun"]]
)

运行后输出的result和你给出的预期结果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:06:01