【问题标题】:Length of GroupedData "object of type 'GroupedData' has no len()"GroupedData 的长度“‘GroupedData’类型的对象没有 len()”
【发布时间】:2022-01-01 02:19:03
【问题描述】:

我在计算分组数据的长度时遇到问题:

“GroupedData”类型的对象没有 len()

我在 PySpark 中有以下代码:

gb = df.groupBy('A_1')
l = len(gb)
print(l)

但是我得到了这个错误。如何计算gb 的长度?

这段代码可以用pandas运行:

gb = df.groupby(['A_1'])
l = len(gb)
print(l)

但是在 PySpark 中,我遇到了问题。

【问题讨论】:

  • Spark 不是 Pandas。您不能使用相同的方法。您可以访问 spark doc here。如果你想将 spark 用作 pandas,可以使用koalas

标签: python pyspark group-by apache-spark-sql


【解决方案1】:

问题在于len 的使用。您不能将其与 Spark 一起使用。 我想,你想使用count

df = spark.range(10)
print(df.count())
# 10

groupBy 是“部分”步骤。之后没有聚合就不能进行 groupBy 。 如果您只是想计算不同“A_1”的数量,请执行以下操作:

df.select("A_1").distinct().count()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 2022-01-08
    • 1970-01-01
    相关资源
    最近更新 更多