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 |
|---|---|---|
|
| Colonne cible sur laquelle effectuer le calcul. |
| 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|
+---------------------------------------+