Partager via


mode

Retourne la valeur la plus fréquente dans un groupe.

Syntaxe

from pyspark.sql import functions as sf

sf.mode(col, deterministic=False)

Paramètres

Paramètre Type Descriptif
col pyspark.sql.Column ou nom de colonne Colonne cible sur laquelle calculer.
deterministic bool, facultatif S’il existe plusieurs résultats aussi fréquents, retournez le plus bas (par défaut sur false).

Retours

pyspark.sql.Column: valeur la plus fréquente dans un groupe.

Examples

from pyspark.sql import functions as sf
df = spark.createDataFrame([
    ("Java", 2012, 20000), ("dotNET", 2012, 5000),
    ("Java", 2012, 20000), ("dotNET", 2012, 5000),
    ("dotNET", 2013, 48000), ("Java", 2013, 30000)],
    schema=("course", "year", "earnings"))
df.groupby("course").agg(sf.mode("year")).sort("course").show()
+------+----------+
|course|mode(year)|
+------+----------+
|  Java|      2012|
|dotNET|      2012|
+------+----------+

Lorsque plusieurs valeurs ont la même fréquence, l’une des valeurs est retournée si déterministe est false ou n’est pas définie, ou si la valeur la plus basse est retournée si déterministe est true.

from pyspark.sql import functions as sf
df = spark.createDataFrame([(-10,), (0,), (10,)], ["col"])
df.select(sf.mode("col", True)).show()
+---------------------------------------+
|mode() WITHIN GROUP (ORDER BY col DESC)|
+---------------------------------------+
|                                    -10|
+---------------------------------------+