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

如何解决pandas用pivot_table重塑dataframe长表转宽表失败问题

问题排查与解决方案

核心问题点

  • 原始数据question列存在大小写不一致:第4行值为大写开头的Question B,其余对应行是小写开头的question B,会被识别为两个不同的列,无法合并
  • pivot_table默认聚合函数为mean(均值计算),仅适用于数值类型,你的comment列是字符串类型,默认计算会返回空值,需要手动指定聚合规则

修复代码

方案1:使用pivot_table(适用于存在重复分组的场景)

# 统一question列的大小写规则,避免重复列
data['question'] = data['question'].str.lower()
# 指定聚合函数取分组首个值
res = pd.pivot_table(
    data,
    values='comment',
    index=['ID', 'Name'],
    columns='question',
    aggfunc='first'
).reset_index()

方案2:使用pivot(适用于ID+Name+question无重复的场景)

data['question'] = data['question'].str.lower()
res = data.pivot(
    index=['ID', 'Name'],
    columns='question',
    values='comment'
).reset_index()

执行后即可得到你预期的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:54:02