Compartir a través de


mode

Devuelve el valor más frecuente de un grupo.

Syntax

from pyspark.sql import functions as sf

sf.mode(col, deterministic=False)

Parámetros

Parámetro Tipo Description
col pyspark.sql.Column o nombre de columna Columna de destino en la que se va a calcular.
deterministic bool, opcional Si hay varios resultados igualmente frecuentes, devuelva el valor más bajo (el valor predeterminado es false).

Devoluciones

pyspark.sql.Column: el valor más frecuente de un grupo.

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

Cuando varios valores tienen la misma frecuencia mayor, se devuelve cualquiera de los valores si la determinista es false o no está definida, o se devuelve el valor más bajo si es true determinista.

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