Compartir vía


último

Devuelve el último valor de un grupo. La función devuelve de forma predeterminada los últimos valores que ve. Devolverá el último valor distinto de NULL que ve cuando ignoreNulls se establece en true. Si todos los valores son null, se devuelve null. La función no es determinista porque sus resultados dependen del orden de las filas que pueden ser no deterministas después de un orden aleatorio.

Syntax

from pyspark.sql import functions as sf

sf.last(col, ignorenulls=False)

Parámetros

Parámetro Tipo Description
col pyspark.sql.Column o nombre de columna Columna para la que se va a capturar el último valor.
ignorenulls bool Si el último valor es NULL, busque un valor distinto de NULL. False de forma predeterminada.

Devoluciones

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

Examples

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()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice|     NULL|
|  Bob|        5|
+-----+---------+

Para omitir los valores NULL, establezca en ignorenullsTrue:

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