count_distinct
Renvoie une nouvelle colonne pour le nombre distinct d'une ou plusieurs colonnes.
Syntaxe
Python
from pyspark.sql import functions as sf
sf.count_distinct(col, *cols)
parameter
parameter | Type | Description |
|---|---|---|
|
| Première colonne à compute. |
|
| Autres colonnes sur lesquelles compute. |
Renvoie
pyspark.sql.Column: valeurs distinctes de ces deux valeurs de colonne.
Exemples
Exemple 1 : Comptage des valeurs distinctes d'une seule colonne
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,), (1,), (3,)], ["value"])
df.select(sf.count_distinct(df.value)).show()
Output
+---------------------+
|count(DISTINCT value)|
+---------------------+
| 2|
+---------------------+
Exemple 2 : Comptage des valeurs distinctes de plusieurs colonnes
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, 1), (1, 2)], ["value1", "value2"])
df.select(sf.count_distinct(df.value1, df.value2)).show()
Output
+------------------------------+
|count(DISTINCT value1, value2)|
+------------------------------+
| 2|
+------------------------------+
Example 3 : Comptage des valeurs distinctes avec des noms de colonne sous forme de chaînes
Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, 1), (1, 2)], ["value1", "value2"])
df.select(sf.count_distinct("value1", "value2")).show()
Output
+------------------------------+
|count(DISTINCT value1, value2)|
+------------------------------+
| 2|
+------------------------------+