Teilen über


mode

Gibt den am häufigsten verwendeten Wert in einer Gruppe zurück.

Syntax

from pyspark.sql import functions as sf

sf.mode(col, deterministic=False)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder Spaltenname Zielspalte, für die berechnet werden soll.
deterministic bool, optional Wenn mehrere gleich häufige Ergebnisse vorhanden sind, geben Sie den niedrigsten Wert zurück (Standardwert ist "false").

Rückkehr

pyspark.sql.Column: der häufigste Wert in einer Gruppe.

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

Wenn mehrere Werte dieselbe größte Häufigkeit aufweisen, wird entweder eines der Werte zurückgegeben, wenn deterministisch falsch ist oder nicht definiert ist, oder der niedrigste Wert zurückgegeben wird, wenn die Deterministik wahr ist.

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