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

如何用Python将DataFrame行转列并合并结构不同的DataFrame?

解决方法

直接通过「长格式转宽格式+合并填充」就能实现你要的效果,具体操作如下:

核心思路

  1. 把每个DataFrame的colname值转成列名,value转成对应列的内容(也就是从长表转成单行的宽表)
  2. 将两个单行宽表按行合并
  3. 把合并后缺失的内容填充为0

代码实现

import pandas as pd

# 构造你的两个DataFrame
df1 = pd.DataFrame({
    'colname': ['gender', 'status', 'age'],
    'value': ['M', 'business', 60]
})

df2 = pd.DataFrame({
    'colname': ['name', 'Place', 'gender'],
    'value': ['Susan', 'Africa', 'F']
})

# 转宽格式并重置索引,得到单行数据
df1_wide = df1.set_index('colname').T.reset_index(drop=True)
df2_wide = df2.set_index('colname').T.reset_index(drop=True)

# 合并两个单行表,填充缺失值为0
final_df = pd.concat([df1_wide, df2_wide], ignore_index=True).fillna(0)

# 按预期输出调整列顺序(可选)
final_df = final_df[['gender', 'status', 'age', 'name', 'Place']]

print(final_df)

运行后输出结果和你预期的完全一致:

gender     status age    name   Place
0      M  business  60       0       0
1      F         0   0  Susan  Africa

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:50:29