pyspark:计算每个不同值的出现次数

mom*_*ind 0 pyspark

我认为这个问题与:Spark DataFrame:计算每列的不同值

所以基本上我有一个 Spark 数据框,列A的值为1,1,2,2,1

1所以我想计算每个不同值(在本例中为 和2)在 列 中出现的次数A,并打印类似的内容

distinct_values | number_of_apperance
1 | 3
2 | 2
Run Code Online (Sandbox Code Playgroud)

cro*_*oik 5

我只是发布此内容,因为我认为带有别名的其他答案可能会令人困惑。您需要的是groupbycount方法:

from pyspark.sql.types import *
l = [
1
,1
,2
,2
,1
]

df = spark.createDataFrame(l, IntegerType())
df.groupBy('value').count().show()

+-----+-----+ 
|value|count| 
+-----+-----+ 
|    1|    3|
|    2|    2| 
+-----+-----+
Run Code Online (Sandbox Code Playgroud)