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

Python中如何高效实现Pandas DataFrame的宽表转长表结构

高效实现Pandas宽表转长表的方法

你需要实现的是典型的宽表转长表操作,直接使用Pandas内置的pd.melt()方法即可,该方法是官方优化的矢量化实现,性能远高于自定义for循环,处理百万级规模的数据集也能快速完成,完全适配Colab的大数据处理场景。

核心实现代码

import pandas as pd

# 构造示例原DataFrame,实际使用时替换为你自己的df即可
df = pd.DataFrame({
    'xx': ['x1', 'x2'],
    'yy': ['y1', 'y2'],
    'zz': ['z1', 'z2'],
    'a': [0, 1],
    'b': [2, 0],
    'c': [1, 2],
    'k': [3, 0]
})

# 宽表转长表核心代码
res_df = df.melt(
    id_vars=['xx', 'yy', 'zz'],
    value_name='valor',
    var_name='nueva columna'
)

# 若需要和示例输出的行顺序完全一致,可追加以下排序代码
res_df = res_df.sort_values(by=['xx', 'yy', 'zz']).reset_index(drop=True)

参数说明

  • id_vars:指定不需要做行列转换、需要原样保留的列,对应你需求里的前三列
  • value_name:自定义存储原单元格数值的新列名,对应你要求的valor
  • var_name:自定义存储原列名的新列名,对应你要求的nueva columna

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:57:02