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

PySpark DataFrame按指定列透视报错:'GroupedData'无display属性

PySpark透视DataFrame报错:'GroupedData' object has no attribute 'display'

问题场景

我有一个名为df的PySpark DataFrame,需要按ProducingMonth和CLASSIFICATION列进行透视,生成指定格式的输出。编写了以下代码:

pivotDF = df.groupBy("WELL_ID","CLASSIFICATION").pivot("CLASSIFICATION")

尝试展示数据时,抛出错误:'GroupedData' object has no attribute 'display'

错误原因

  1. groupBy().pivot()执行后返回的是GroupedData对象,不是最终可操作的DataFrame,该对象没有display()方法,必须先执行聚合操作(如sum()、count())才能生成可展示的DataFrame。
  2. 分组逻辑不符合透视需求:不能将CLASSIFICATION同时作为分组列和透视列,且需求中的分组维度ProducingMonth未被加入groupBy。

解决方案

假设你需要聚合的数值列为VALUE,根据需求选择以下写法:

场景1:按ProducingMonth分组,透视CLASSIFICATION

# 按ProducingMonth分组,透视CLASSIFICATION列,聚合VALUE的总和
pivotDF = df.groupBy("ProducingMonth").pivot("CLASSIFICATION").sum("VALUE")
# 现在可以正常展示结果
pivotDF.display()

场景2:同时保留WELL_ID维度,按WELL_ID+ProducingMonth分组透视

pivotDF = df.groupBy("WELL_ID", "ProducingMonth").pivot("CLASSIFICATION").sum("VALUE")
pivotDF.display()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:55:05