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

Pandas如何基于指定列取值生成对应列名的新列实现长表转宽表

你需要的是长表转宽表的操作,以下是可直接运行的Pandas实现方案:

方案1:pivot方法(适配无重复匹配项场景)

如果你的数据中不存在「同一datetime、同一column对应多条data记录」的情况,直接用pivot即可:

result = df.pivot(columns='column', values='data')

方案2:set_index + unstack组合方案

逻辑更灵活,兼容性强:

result = df.set_index('column', append=True)['data'].unstack('column')

兼容重复匹配项场景

如果实际业务数据存在同维度多条记录的情况,可使用pivot_table指定聚合规则(示例用sum求和,可按需替换为mean、first等聚合函数):

import pandas as pd
result = pd.pivot_table(
    df,
    index=df.index,
    columns='column',
    values='data',
    aggfunc='sum'
)

以上代码运行后得到的result即为你需要的结构,无匹配值的位置会自动填充NaN。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:15:00