Aller au contenu principal

sum_distinct

Fonction d'agrégation : renvoie la somme des valeurs distinctes dans l'expression.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.sum_distinct(col)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Colonne cible sur laquelle effectuer le calcul.

parameter

Type

Description

col

pyspark.sql.Column ou str

Colonne cible sur laquelle effectuer le calcul.

Renvoie

pyspark.sql.Column: la colonne pour les résultats calculés.

Exemples

**Exemple 1** : Utilisation de la fonction sum_distinct sur une colonne avec toutes les valeurs distinctes

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,), (2,), (3,), (4,)], ["numbers"])
df.select(sf.sum_distinct('numbers')).show()
Output
+---------------------+
|sum(DISTINCT numbers)|
+---------------------+
| 10|
+---------------------+

Exemple 2 : utilisation de la fonction sum_distinct sur une colonne sans valeurs distinctes

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,), (1,), (1,), (1,)], ["numbers"])
df.select(sf.sum_distinct('numbers')).show()
Output
+---------------------+
|sum(DISTINCT numbers)|
+---------------------+
| 1|
+---------------------+

Exemple 3 : Utilisation de la fonction sum_distinct sur une colonne avec des valeurs nulles et en double

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(None,), (1,), (1,), (2,)], ["numbers"])
df.select(sf.sum_distinct('numbers')).show()
Output
+---------------------+
|sum(DISTINCT numbers)|
+---------------------+
| 3|
+---------------------+