Pular para o conteúdo principal

durar

Retorna o último valor em um grupo. Por default a função retorna os últimos valores que encontra. A função retornará o último valor não nulo encontrado quando `ignoreNulls` estiver definido como verdadeiro. Se todos os valores forem nulos, então será retornado nulo. A função não é determinística porque seus resultados dependem da ordem das linhas, que pode ser não determinística após um embaralhamento.

Sintaxe

Python
from pyspark.sql import functions as sf

sf.last(col, ignorenulls=False)

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou nome da coluna

Coluna para a qual se deve obter o último valor.

ignorenulls

booleano

Se o último valor for nulo, procure por um valor não nulo. Por default, é falso.

Devoluções

pyspark.sql.Column: último valor do grupo.

Exemplos

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5), ("Alice", None)], ("name", "age"))
df = df.orderBy(df.age.desc())
df.groupby("name").agg(sf.last("age")).orderBy("name").show()
Output
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice| NULL|
| Bob| 5|
+-----+---------+

Para ignorar quaisquer valores nulos, defina ignorenulls como True:

Python
df.groupby("name").agg(sf.last("age", ignorenulls=True)).orderBy("name").show()
Output
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice| 2|
| Bob| 5|
+-----+---------+