Поделиться через


max

Возвращает максимальное значение выражения в группе. Значения NULL игнорируются во время вычисления. Значения NaN больше, чем любое другое числовое значение.

Синтаксис

from pyspark.sql import functions as sf

sf.max(col)

Параметры

Параметр Тип Description
col pyspark.sql.Column или имя столбца Целевой столбец, на котором вычисляется максимальное значение.

Возвраты

pyspark.sql.Column: столбец, содержащий максимальное значение, вычисляемое.

Примеры

Пример 1. Вычисление максимального значения числового столбца

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

Пример 2. Вычисление максимального значения строкового столбца

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

Пример 3. Вычисление максимального значения столбца в сгруппированных кадрах данных

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

Пример 4. Вычисление максимального значения нескольких столбцов в сгруппированных кадрах данных

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

Пример 5. Вычисление максимального значения столбца со значениями NULL

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

Пример 6. Вычисление максимального значения столбца со значениями 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|
+----------+