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

Pandas使用pivot_table实现行转列输出不符合预期问题求助

问题原因

你当前代码使用aggfunc=list会将同一Time+Item分组下的所有Value值封装为列表,不符合常规行转列的输出要求。

解决方案

根据你的数据场景选择对应代码即可:

  • 场景1:原始数据中同一个Time和Item组合仅对应唯一的Value值(绝大多数行转列场景属于这类)
    两种写法均可实现需求:
    1. 直接用pivot方法,更适配无重复分组的行转列场景:
    df = df.pivot(index='Time', columns='Item', values='Value').reset_index()
    # 可选:去掉列名的Item标识,输出更贴近常规表格
    df.columns.name = None
    
    1. 坚持用pivot_table的话修改聚合函数即可:
    df = df.pivot_table(index='Time', columns='Item', values='Value', aggfunc='first').reset_index()
    df.columns.name = None
    
  • 场景2:同一个Time和Item组合对应多个Value值
    根据你的聚合需求替换aggfunc参数即可,常见需求示例:
    • 对多个Value求和:aggfunc='sum'
    • 对多个Value求平均值:aggfunc='mean'
    • 把多个Value用逗号拼接为字符串:aggfunc=lambda x: ','.join(x.astype(str))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:06:06