PySpark SQL 函数的count_distinct(~)
方法计算指定列中不同值的数量。
参数
1.*cols
| string
或 Column
用于计算不同值数量的列。
返回值
PySpark Column
保存一个整数。
例子
考虑以下PySpark DataFrame:
df = spark.createDataFrame([["Alex", "A"], ["Bob", "A"], ["Cathy", "B"]], ["name", "class"])
df.show()
+-----+-----+
| name|class|
+-----+-----+
| Alex| A|
| Bob| A|
|Cathy| B|
+-----+-----+
计算PySpark中单列中不同值的数量
要计算 class
列中不同值的数量:
from pyspark.sql import functions as F
df.select(F.count_distinct("class").alias("c")).show()
+---+
| c|
+---+
| 2|
+---+
在这里,我们将名称 "c"
赋予 count_distinct(~)
通过 alias(~)
返回的 Column
。
请注意,我们还可以向 count_distinct(~)
提供 Column
对象:
df.select(F.count_distinct(df["class"]).alias("c")).show()
+---+
| c|
+---+
| 2|
+---+
获取整数计数
默认情况下, count_distinct(~)
返回 PySpark Column
。要获取整数计数:
df.select(F.count_distinct(df["class"])).collect()[0][0]
2
在这里,我们使用 select(~)
方法将Column
转换为PySpark DataFrame。然后,我们使用 collect(~)
方法将DataFrame转换为Row
对象列表。由于此列表中只有一个 Row
以及 Row
中的一个值,因此我们使用 [0][0]
来访问整数计数。
计算 PySpark 中一组列中不同值的数量
要计算列 name
和 class
的不同值的数量:
df.select(F.count_distinct("name", "class").alias("c")).show()
+---+
| c|
+---+
| 3|
+---+
相关用法
- Python PySpark SQL Functions countDistinct方法用法及代码示例
- Python PySpark SQL Functions count方法用法及代码示例
- Python PySpark SQL Functions concat方法用法及代码示例
- Python PySpark SQL Functions concat_ws方法用法及代码示例
- Python PySpark SQL Functions col方法用法及代码示例
- Python PySpark SQL Functions collect_list方法用法及代码示例
- Python PySpark SQL Functions collect_set方法用法及代码示例
- Python PySpark SQL Functions split方法用法及代码示例
- Python PySpark SQL Functions repeat方法用法及代码示例
- Python PySpark SQL Functions explode方法用法及代码示例
- Python PySpark SQL Functions instr方法用法及代码示例
- Python PySpark SQL Functions dayofmonth方法用法及代码示例
- Python PySpark SQL Functions date_add方法用法及代码示例
- Python PySpark SQL Functions array方法用法及代码示例
- Python PySpark SQL Functions translate方法用法及代码示例
- Python PySpark SQL Functions dayofweek方法用法及代码示例
- Python PySpark SQL Functions expr方法用法及代码示例
- Python PySpark SQL Functions regexp_extract方法用法及代码示例
- Python PySpark SQL Functions regexp_replace方法用法及代码示例
- Python PySpark SQL Functions round方法用法及代码示例
- Python PySpark SQL Functions date_format方法用法及代码示例
- Python PySpark SQL Functions lit方法用法及代码示例
- Python PySpark SQL Functions upper方法用法及代码示例
- Python PySpark SQL Functions length方法用法及代码示例
- Python PySpark SQL Functions dayofyear方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark SQL Functions | count_distinct method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。