首页 > 解决方案 > 'GroupedData' 对象在 spark 数据帧中执行枢轴时没有属性'show'

问题描述

我想旋转一个 spark 数据框,我参考 pyspark 文档,并且基于pivot函数,线索是.groupBy('name').pivot('name', values=None). 这是我的数据集,

 In[75]:  spDF.show()
 Out[75]:

+-----------+-----------+
|customer_id|       name|
+-----------+-----------+
|      25620| MCDonnalds|
|      25620|  STARBUCKS|
|      25620|        nan|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|DUNKINDONUT|
|      25620|   LOTTERIA|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|DUNKINDONUT|
|      25620|DUNKINDONUT|
|      25620|        nan|
|      25620|        nan|
|      25620|        nan|
|      25620|        nan|
|      25620|   LOTTERIA|
|      25620|   LOTTERIA|
|      25620|  STARBUCKS|
+-----------+-----------+
only showing top 20 rows

然后我尝试 di 透视表名

In [96]:
spDF.groupBy('name').pivot('name', values=None)
Out[96]:
<pyspark.sql.group.GroupedData at 0x7f0ad03750f0>

当我试图向他们展示

In [98]:
spDF.groupBy('name').pivot('name', values=None).show()
Out [98]:

    ---------------------------------------------------------------------------
AttributeError                       Traceback (most recent call last)
<ipython-input-98-94354082e956> in <module>()
----> 1 spDF.groupBy('name').pivot('name', values=None).show()
AttributeError: 'GroupedData' object has no attribute 'show'

我不知道为什么'GroupedData'不能显示,我应该怎么解决这个问题?

标签: pythonpandasapache-sparkdataframepyspark

解决方案


pivot()方法返回一个GroupedData对象,就像groupBy(). 你不能show()在一个GroupedData对象上使用之前不使用聚合函数(例如sum()或什至count())。

有关更多信息,请参阅本文


推荐阅读