Compartir vía


Primero

Devuelve el primer valor de un grupo. La función devuelve de forma predeterminada los primeros valores que ve. Devolverá el primer 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.first(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 primer valor.
ignorenulls bool Si el primer valor es NULL, busque el primer valor distinto de NULL. False de forma predeterminada.

Devoluciones

pyspark.sql.Column: primer 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)
df.groupby("name").agg(sf.first("age")).orderBy("name").show()
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice|      NULL|
|  Bob|         5|
+-----+----------+

Para omitir los valores NULL, establezca en ignorenullsTrue:

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