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

Python中如何正确转置单行DataFrame表格?

解决方案

方法1:转置+索引整理实现

先排除不需要的index列,再转置,最后重置索引并重命名列即可得到目标格式:

import pandas as pd

# 你的原始DataFrame
data = {'index': [0], 'A': [20], 'B': [30], 'C': [50]}
df = pd.DataFrame(data)

# 1. 提取需要转换的列(A、B、C)
df_target = df[['A', 'B', 'C']]
# 2. 执行转置
df_transposed = df_target.T
# 3. 重置索引并设置新表头
df_transposed.reset_index(inplace=True)
df_transposed.columns = ['Data Point', 'Value']

最终结果:

Data PointValue
A20
B30
C50

方法2:使用melt函数(更简洁)

Pandas的melt函数专门用于宽表转长表,无需额外处理索引,一步到位:

import pandas as pd

# 你的原始DataFrame
data = {'index': [0], 'A': [20], 'B': [30], 'C': [50]}
df = pd.DataFrame(data)

# 直接生成目标格式表格
df_result = pd.melt(df, value_vars=['A', 'B', 'C'], var_name='Data Point', value_name='Value')

为什么直接transpose不符合预期?

你得到表头为0的结果,是因为转置时会把原始DataFrame的**行索引(这里是0)**作为转置后的列名,同时原始的index列也会被转成一行无效数据。所以需要先过滤无关列,或者用更适配的长表转换工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:22:38