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

如何将Pandas DataFrame转换为指定结构并新增new列?

问题描述

我希望将Pandas DataFrame转换为如下指定结构:

原始数据:

original_data = {
    'A': ['a', 'b', 'c', 'd'],
    'B': ['5', '6', '7', '8'],
    'C': ['9', '10', '11', '12']
}
df = pd.DataFrame(original_data)

原始DataFrame:

A  B   C
0  a  5   9
1  b  6  10
2  c  7  11
3  d  8  12

目标DataFrame:

a   b   c   d new
0  5   6   7   8   B
1  9  10  11  12   C

请问该如何实现这一转换?


解决方案

可以通过设置索引、转置、重命名列三步完成转换,代码如下:

import pandas as pd

original_data = {
    'A': ['a', 'b', 'c', 'd'],
    'B': ['5', '6', '7', '8'],
    'C': ['9', '10', '11', '12']
}
df = pd.DataFrame(original_data)

# 转换流程
result = df.set_index('A').T.reset_index().rename(columns={'index': 'new'})

print(result)

步骤说明:

  • set_index('A'):将A列的值转为DataFrame的行索引,为后续转置后生成目标列名做准备。
  • .T:对DataFrame执行转置操作,把原有的B、C列转为行,原行索引(a、b、c、d)转为列。
  • reset_index():把转置后的行索引(B、C)转为普通列,再通过rename将该列名修改为new,完全匹配目标结构。

运行后输出结果与目标一致:

a   b   c   d new
0  5   6   7   8   B
1  9  10  11  12   C

内容的提问来源于stack exchange,提问作者H.YK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 17:54:57