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

Python如何将多行DataFrame转换为仅含单行的宽格式DataFrame

实现代码

首先构造你描述的原始DataFrame用于演示:

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame(
    {"A": [1, 2, 3], "B": [2, 4, 6]},
    index=["x", "y", "z"]
)

方法1:使用unstack方法实现

# 先将DataFrame展平为带多级索引的Series
s = df.unstack()
# 合并多级索引为你需要的列名格式
s.index = [f"{col}_{idx}" for col, idx in s.index]
# 转为单行DataFrame
result = s.to_frame().T

方法2:直接遍历构造结果(逻辑更直观)

result_data = {}
# 按顺序遍历列和行索引,拼接列名并赋值
for col in df.columns:
    for idx in df.index:
        result_data[f"{col}_{idx}"] = df.loc[idx, col]
# 直接生成单行DataFrame
result = pd.DataFrame([result_data])

两种方法得到的result均符合需求,列顺序为A_x、A_y、A_z、B_x、B_y、B_z,对应值正确。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:30:01