如何将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
相关产品推荐
相关产品推荐

