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

Pandas按指定列分组后将其余列转换为键值对格式的实现问题

Pandas 宽表转长表实现代码

你要实现的是典型的宽表转长表操作,直接使用Pandas内置的melt方法即可完成,以下是完整可运行的示例:

首先构造和你原始结构一致的模拟数据,实际使用时替换为你自己的数据源即可:

import pandas as pd

df = pd.DataFrame({
    '学生姓名': ['张三', '李四', '王五', '赵六'],
    '语文': [89, 76, 92, 81],
    '数学': [94, 88, 79, 90],
    '英语': [85, 93, 87, 78]
})

执行转换的核心代码:

res = df.melt(
    id_vars=['学生姓名'],  # 填入不需要展开、要保留的固定列,多列直接放进列表即可
    var_name='科目',       # 原来的表头字段转换后对应的新列名称
    value_name='分数'      # 原来的单元格值转换后对应的新列名称
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 15:12:03