Bagikan melalui


mode

Mengembalikan nilai yang paling sering dalam grup.

Syntax

from pyspark.sql import functions as sf

sf.mode(col, deterministic=False)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau nama kolom Kolom target untuk dihitung.
deterministic bool, opsional Jika ada beberapa hasil yang sama-sama sering, maka kembalikan yang terendah (default ke false).

Pengembalian Barang

pyspark.sql.Column: nilai yang paling sering dalam grup.

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

Ketika beberapa nilai memiliki frekuensi terbesar yang sama, salah satu nilai dikembalikan jika deterministik salah atau tidak ditentukan, atau nilai terendah dikembalikan jika deterministik benar.

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