max

Vrátí maximální hodnotu výrazu ve skupině. Hodnoty Null se při výpočtu ignorují. Hodnoty NaN jsou větší než jakákoli jiná číselná hodnota.

Syntaxe

from pyspark.sql import functions as sf

sf.max(col)

Parametry

Parameter Typ Description
col pyspark.sql.Column nebo název sloupce Cílový sloupec, na kterém se vypočítá maximální hodnota.

Návraty

pyspark.sql.Column: Sloupec, který obsahuje maximální vypočítanou hodnotu.

Examples

Příklad 1: Výpočet maximální hodnoty číselného sloupce

import pyspark.sql.functions as sf
df = spark.range(10)
df.select(sf.max(df.id)).show()
+-------+
|max(id)|
+-------+
|      9|
+-------+

Příklad 2: Výpočet maximální hodnoty sloupce řetězce

import pyspark.sql.functions as sf
df = spark.createDataFrame([("A",), ("B",), ("C",)], ["value"])
df.select(sf.max(df.value)).show()
+----------+
|max(value)|
+----------+
|         C|
+----------+

Příklad 3: Výpočet maximální hodnoty sloupce ve seskupeném datovém rámci

import pyspark.sql.functions as sf
df = spark.createDataFrame([("A", 1), ("A", 2), ("B", 3), ("B", 4)], ["key", "value"])
df.groupBy("key").agg(sf.max(df.value)).show()
+---+----------+
|key|max(value)|
+---+----------+
|  A|         2|
|  B|         4|
+---+----------+

Příklad 4: Výpočet maximální hodnoty více sloupců ve seskupeném datovém rámci

import pyspark.sql.functions as sf
df = spark.createDataFrame(
    [("A", 1, 2), ("A", 2, 3), ("B", 3, 4), ("B", 4, 5)], ["key", "value1", "value2"])
df.groupBy("key").agg(sf.max("value1"), sf.max("value2")).show()
+---+-----------+-----------+
|key|max(value1)|max(value2)|
+---+-----------+-----------+
|  A|          2|          3|
|  B|          4|          5|
+---+-----------+-----------+

Příklad 5: Výpočet maximální hodnoty sloupce s hodnotami null

import pyspark.sql.functions as sf
df = spark.createDataFrame([(1,), (2,), (None,)], ["value"])
df.select(sf.max(df.value)).show()
+----------+
|max(value)|
+----------+
|         2|
+----------+

Příklad 6: Výpočet maximální hodnoty sloupce s hodnotami NaN

import pyspark.sql.functions as sf
df = spark.createDataFrame([(1.1,), (float("nan"),), (3.3,)], ["value"])
df.select(sf.max(df.value)).show()
+----------+
|max(value)|
+----------+
|       NaN|
+----------+