获取pyspark列中唯一值的数量

时间:2020-03-11 19:14:25

标签: pyspark

我有一个带有列URL的PySpark数据框。我只想知道有多少个不同的值。我只需要总数不同的值。 我尝试了以下

df.select("URL").distinct().show()

这给了我所有唯一值的列表和计数,我只想知道总体上有多少个唯一值。我想要这样的东西-col(URL)具有x个不同的值。

1 个答案:

答案 0 :(得分:2)

使用 distinct().count() 获得 count of distinct 值。

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

Example:

#sample data
df=spark.createDataFrame([(1,),(2,),(1,)],['id'])

df.show()
#+---+
#| id|
#+---+
#|  1|
#|  2|
#|  1|
#+---+

#to list out 20 distinct values
df.select('id').distinct().show()
#+---+
#| id|
#+---+
#|  1|
#|  2|
#+---+

#to get count of distinct values
df.select('id').distinct().count()
#2