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

如何正确透视Pandas DataFrame以获取目标格式结果?

Pandas DataFrame 转换问题

原始DataFrame

import pandas as pd
df2 = pd.DataFrame({
    'nombreNumeroUnico': ['UP2_G1_B', 'UP2_G2_B'],
    'pMax': [110.0, 110.0]
})

# 输出:
#   nombreNumeroUnico   pMax
# 0          UP2_G1_B  110.0
# 1          UP2_G2_B  110.0

预期结果

希望转换为如下格式:

UP2_G1_B  UP2_G2_B
0       110       110

已尝试方法

使用pivot函数未得到预期结果:

df2.pivot(index=None, columns="nombreNumeroUnico", values="pMax")

# 输出:
# nombreNumeroUnico  UP2_G1_B  UP2_G2_B
# 0                     110.0       NaN
# 1                       NaN     110.0

解决方法

可以通过以下两种方式实现目标格式:

方法一:设置索引后转置并重置索引

将nombreNumeroUnico设为索引,转置后重置索引即可得到单行结果,还可按需转换数据类型:

df_result = df2.set_index('nombreNumeroUnico').T.reset_index(drop=True)
# 转换为整数类型(可选)
df_result = df_result.astype(int)

方法二:直接构造字典生成新DataFrame

利用原数据的两列构造字典,再生成单行DataFrame:

df_result = pd.DataFrame([dict(zip(df2['nombreNumeroUnico'], df2['pMax']))]).astype(int)

说明

之前使用pivot得到的结果会保留原DataFrame的索引,每一行对应原数据的一条记录,因此出现NaN。而上述方法是将所有列整合到同一行,符合预期格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:02:41