Compartilhar via


max

Retorna o valor máximo da expressão em um grupo. Valores nulos são ignorados durante a computação. Os valores naN são maiores do que qualquer outro valor numérico.

Sintaxe

from pyspark.sql import functions as sf

sf.max(col)

Parâmetros

Parâmetro Tipo Description
col pyspark.sql.Column ou nome da coluna A coluna de destino na qual o valor máximo é calculado.

Devoluções

pyspark.sql.Column: uma coluna que contém o valor máximo calculado.

Exemplos

Exemplo 1: computar o valor máximo de uma coluna numérica

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

Exemplo 2: computar o valor máximo de uma coluna de cadeia de caracteres

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

Exemplo 3: computar o valor máximo de uma coluna em um 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|
+---+----------+

Exemplo 4: computar o valor máximo de várias colunas em um 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|
+---+-----------+-----------+

Exemplo 5: computar o valor máximo de uma coluna com valores nulos

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

Exemplo 6: Computar o valor máximo de uma coluna com 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|
+----------+