Compartir vía


max

Devuelve el valor máximo de la expresión en un grupo. Los valores NULL se omiten durante el cálculo. Los valores naN son mayores que cualquier otro valor numérico.

Syntax

from pyspark.sql import functions as sf

sf.max(col)

Parámetros

Parámetro Tipo Description
col pyspark.sql.Column o nombre de columna Columna de destino en la que se calcula el valor máximo.

Devoluciones

pyspark.sql.Column: una columna que contiene el valor máximo calculado.

Examples

Ejemplo 1: Calcular el valor máximo de una columna numérica

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

Ejemplo 2: Calcular el valor máximo de una columna de cadena

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

Ejemplo 3: Calcular el valor máximo de una columna en un dataframe agrupado

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

Ejemplo 4: Calcular el valor máximo de varias columnas en un dataframe agrupado

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

Ejemplo 5: Calcular el valor máximo de una columna con valores NULL

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

Ejemplo 6: Calcular el valor máximo de una columna con valores "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|
+----------+