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

Pandas多DataFrame处理:如何生成指定列格式的新DataFrame

Pandas实现指定格式的DataFrame转换

核心思路

你需要将DF2的Name列值与**原列名(Price/Colour)**拼接成新的列名,最终生成一行的宽格式DataFrame。以下是具体实现步骤:

步骤1:构造示例数据

先模拟你的DF2(DF1与DF2的Name列一致,实际处理仅需DF2即可):

import pandas as pd

df2 = pd.DataFrame({
    'Name': ['AB', 'BC', 'TB', 'QT', 'YU'],
    'Price': [15, 20, 23, 52, 55],
    'Colour': ['red', 'white', 'blue', 'orange', 'pink']
})

步骤2:转换格式

通过以下代码直接生成目标DataFrame:

# 将Name设为索引后转置,再拼接索引生成新列名
transformed = df2.set_index('Name').unstack()
transformed.index = transformed.index.map(lambda x: f'{x[1]}_{x[0]}')

# 转换为一行的DataFrame
df_result = transformed.to_frame().T

输出结果

运行后df_result的格式完全符合你的需求:

AB_Price AB_Colour  BC_Price BC_Colour  TB_Price TB_Colour  QT_Price QT_Colour  YU_Price YU_Colour
0        15       red        20     white        23      blue        52    orange        55      pink

补充说明

你给出的目标格式里把QT写成了QC,这应该是笔误,代码中保留了原数据的QT,如果需要修改直接调整DF2的Name值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:08:31