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

如何对Pandas DataFrame进行透视转换得到指定格式输出表

pandas长表转宽表实现方法

你要实现的是典型的长格式DataFrame转宽格式操作,直接用pandas内置的pivot方法即可完成。


操作步骤

  • 先构造与示例一致的原始测试数据:
    import pandas as pd
    
    df = pd.DataFrame({
        'ABC': ['A', 'A', 'B', 'B'],
        'Date': ['1/1/22', '1/2/22', '1/1/22', '1/2/22'],
        'Data': [1, 2, 3, 4]
    })
    
  • 执行透视转换:
    # 核心透视逻辑
    df_result = df.pivot(
        index='Date',
        columns='ABC',
        values='Data'
    ).reset_index()
    
    # 清除透视残留的索引名,和预期输出格式完全对齐
    df_result.columns.name = None
    

运行后得到的df_result和你给出的预期结果完全匹配:

DateAB
1/1/2213
1/2/2224

参数说明

  • index='Date':指定Date列为新表的行维度,相同日期会合并到同一行
  • columns='ABC':取ABC列的去重值作为新表的列名
  • values='Data':取Data列的数值填充到对应行列的交叉位置
  • reset_index():将作为行索引的Date列还原为普通数据列
  • columns.name = None:删除透视操作自动生成的列索引层级名称,避免输出多余表头

注意:如果原始数据中存在「同一个ABC分类+同一个日期」对应多条Data记录的情况,pivot会直接报错,此时替换为pivot_table方法即可,还可以通过aggfunc参数自定义聚合规则(求和、均值、计数等)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 21:33:28