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

如何按列生成新行重写Pandas DataFrame?

Pandas DataFrame 宽表转长表并合并标识列

原DataFrame构造代码

import pandas as pd

df = pd.DataFrame({
    'Name': ['A', 'B'],
    'Col 1': [1, 3],
    'Col 2': [2, 4]
})

转换步骤及代码

使用Pandas的melt方法将宽表转为长表,再合并标识列得到目标结构:

# 转长表,指定Name为保留的标识列
melted_df = df.melt(id_vars='Name', var_name='Col', value_name='Val')

# 合并Name列与原列名(去除列名中的空格),生成新的Name列
melted_df['Name'] = melted_df['Name'] + '-' + melted_df['Col'].str.replace(' ', '')

# 清理多余列并调整列顺序
result_df = melted_df[['Name', 'Val']]

转换结果

执行后得到的DataFrame如下:

NameVal
A-Col11
B-Col13
A-Col22
B-Col24

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:39:53