Compartilhar via


mode

Retorna o valor mais frequente em um grupo.

Sintaxe

from pyspark.sql import functions as sf

sf.mode(col, deterministic=False)

Parâmetros

Parâmetro Tipo Description
col pyspark.sql.Column ou nome da coluna Coluna de destino para computação ativada.
deterministic bool, opcional Se houver vários resultados igualmente frequentes, retorne o menor (padrões para false).

Devoluções

pyspark.sql.Column: o valor mais frequente em um grupo.

Exemplos

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

Quando vários valores tiverem a mesma frequência maior, qualquer um dos valores será retornado se determinístico for falso ou não for definido ou o valor mais baixo for retornado se determinístico for verdadeiro.

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