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