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

如何将指定结构的Pandas DataFrame转换为单行形式?

解决方法:将标签-值对转换为单行Pandas DataFrame

Hey,这个格式转换需求在Pandas里其实有好几种简单的实现方式,我给你列两个最常用的方案,你可以按需选择:


方案一:索引设置 + 转置操作

首先假设你的原始DataFrame(我们暂时命名为original_df)结构如下(如果你的列名是默认的0和1,只需要替换代码里的列名即可):

import pandas as pd

# 模拟你的原始数据结构
original_df = pd.DataFrame([
    ['a', 43],
    ['b', 630],
    ['r', 587],
    ['i', 462],
    ['g', 153],
    ['t', 266]
], columns=['label', 'value'])

执行以下代码就能得到你想要的单行结构:

# 1. 将标签列设为行索引
# 2. 用T转置,把行转成列、列转成行
# 3. 重置索引并丢弃原索引名,让新df的索引为0
new_df = original_df.set_index('label').T.reset_index(drop=True)

输出结果完全符合你的预期:

a    b    r    i    g    t
0  43  630  587  462  153  266

方案二:更直观的字典构造法

如果你觉得转置的逻辑有点绕,直接用字典构造会更易懂:

# 用zip把标签列和值列配对成键值对字典
data_dict = dict(zip(original_df['label'], original_df['value']))
# 把字典放进列表中,直接生成单行DataFrame
new_df = pd.DataFrame([data_dict])

这个方法的逻辑非常直白:字典的键会自动成为新DataFrame的列名,字典的值则作为单行数据,默认索引就是0,完美匹配你的需求。


小提示

如果你的原始DataFrame列名是默认的数字(比如0和1),只需要把代码里的'label'换成0,'value'换成1即可,比如:

new_df = original_df.set_index(0).T.reset_index(drop=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:04:05