mode

Vrátí nejčastější hodnotu ve skupině.

Syntaxe

from pyspark.sql import functions as sf

sf.mode(col, deterministic=False)

Parametry

Parameter Typ Description
col pyspark.sql.Column nebo název sloupce Cílový sloupec pro výpočet.
deterministic bool, volitelné Pokud existuje více stejně častých výsledků, vrátí nejnižší hodnotu (výchozí hodnota je false).

Návraty

pyspark.sql.Column: nejčastější hodnota ve skupině.

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

Pokud má více hodnot stejnou největší frekvenci, vrátí se buď jedna z hodnot, pokud je deterministika nepravda, nebo není definována, nebo je vrácena nejnižší hodnota, pokud je deterministika pravdivá.

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