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

如何将长格式数据转为宽格式?Pandas或Altair实现方法

解决方案

一、用Pandas一行代码转成宽格式

如果你的长格式数据包含唯一索引列(如日期、ID)、类别列和数值列,直接用pivot()就能完成转换:

df_wide = df.pivot(index="索引列名", columns="类别列名", values="数值列名").reset_index()

如果存在同一索引+类别组合的重复行,需要用pivot_table()指定聚合函数(比如取均值):

df_wide = df.pivot_table(index="索引列名", columns="类别列名", values="数值列名", aggfunc="mean").reset_index()

二、Altair无需转换,直接支持长格式绘图

其实Altair原生更适配长格式数据,完全不需要转成宽格式就能绘图。比如要绘制多类别折线图,直接把类别列映射到color编码即可:

import altair as alt

chart = alt.Chart(df).mark_line().encode(
    x="索引列名:T",  # T表示时间类型,可根据实际数据类型调整
    y="数值列名:Q",
    color="类别列名:N"  # N表示标称类型
)
chart.show()

这种方式比宽格式更灵活,新增类别时不需要修改代码,Altair会自动识别并添加对应系列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:42:38