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

如何使用Pandas Melt函数转换多列结构的DataFrame?

使用Pandas的melt函数处理多列宽格式DataFrame

完全可以用melt函数实现这个转换,核心是指定好要保留的标识列和需要转置的数值列,分两种常见情况处理:

情况1:Edad是DataFrame的行索引

如果你的原始DataFrame中Edad是行索引(比如展示里的[15-25]这类是索引值),先把索引转为普通列,再调用melt:

# 假设原始DataFrame名为df
df = df.reset_index().rename(columns={'index': 'Edad'})
long_df = df.melt(id_vars='Edad', var_name='Year', value_name='Value')

情况2:Edad已经是普通列

如果Edad本身就是DataFrame的一列,直接调用melt即可:

long_df = df.melt(id_vars='Edad', var_name='Year', value_name='Value')

参数说明

  • id_vars='Edad':指定转换后要保留的标识列,对应每个数值所属的年龄组
  • var_name='Year':将原来的年份列名(2000、2001等)转为新列的名称
  • value_name='Value':把原单元格中的数值统一归集到这个新列里

转换后效果

运行后得到的long_df会是你需要的长格式:

Edad  Year   Value
0  [15-25]  2000  126675
1  (25-35]  2000   65823
2  (35-45]  2000   37474
3  (45-55]  2000   20624
4  (55-65]  2000   30240
...

内容的提问来源于stack exchange,提问作者Santiago Fernndez del Castillo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:25:49