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

如何将Pandas DataFrame实现列转行,转换为指定长表格式

实现方案

你需要的是宽表转长表的操作,直接用Pandas内置的melt方法即可实现,代码如下:

  • 第一步:构造示例原始DataFrame(你已经有实际数据可跳过这步)
import pandas as pd

df = pd.DataFrame({
    'Name': ['BTU', 'BTP'],
    'A': [2, 1],
    'B': [3, 2],
    'C': [0, 7],
    'D': [9, 9],
    'E': [7, 0]
})
  • 第二步:执行转换
res = df.melt(
    id_vars='Name', # 保留不动的标识列
    value_vars=['A','B','C','D','E'], # 需要展开的列
    var_name='letter', # 展开后的列名存储字段
    value_name='Value' # 展开后的数值存储字段
)

如果你需要展开的列非常多,不想手动枚举,可以把value_vars参数替换为df.columns.drop('Name'),自动获取除了Name之外的所有列进行展开。

转换后的结果结构如下:

NameletterValue
BTUA2
BTUB3
BTUC0
BTUD9
BTUE7
BTPA1
BTPB2
BTPC7
BTPD9
BTPE0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:54:03