Aller au contenu principal

mode

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

Syntaxe

Python
from pyspark.sql import functions as sf

sf.mode(col, deterministic=False)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

Colonne cible sur laquelle effectuer le calcul.

deterministic

bool, facultatif

S'il y a plusieurs résultats de fréquence égale, renvoyez le plus bas (default est false).

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

Colonne cible sur laquelle effectuer le calcul.

deterministic

bool, facultatif

S'il y a plusieurs résultats de fréquence égale, renvoyez le plus bas (default est false).

Renvoie

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

Exemples

Python
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()
Output
+------+----------+
|course|mode(year)|
+------+----------+
| Java| 2012|
|dotNET| 2012|
+------+----------+

Lorsque plusieurs valeurs ont la même fréquence la plus élevée, l'une des valeurs est renvoyée si déterministe est false ou non définie, ou la valeur la plus faible est renvoyée si déterministe est true.

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