Aller au contenu principal

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

col

pyspark.sql.Column ou nom de colonne

Première colonne à compute.

cols

pyspark.sql.Column ou nom de colonne

Autres colonnes sur lesquelles compute.

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

Première colonne à compute.

cols

pyspark.sql.Column ou nom de colonne

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|
+------------------------------+