Compartir a través de


first_value

Devuelve el primer valor de col para un grupo de filas. Devolverá el primer valor distinto de NULL que ve cuando ignoreNulls se establece en true. Si todos los valores son null, se devuelve null.

Syntax

from pyspark.sql import functions as sf

sf.first_value(col, ignoreNulls=None)

Parámetros

Parámetro Tipo Description
col pyspark.sql.Column o str Columna de destino en la que trabajar.
ignoreNulls pyspark.sql.Column o bool, opcional Si el primer valor es NULL, busque el primer valor distinto de NULL.

Devoluciones

pyspark.sql.Column: un valor de col para un grupo de filas.

Examples

Ejemplo 1: Obtención del primer valor sin omitir valores NULL

from pyspark.sql import functions as sf
spark.createDataFrame(
    [(None, 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["a", "b"]
).select(sf.first_value('a'), sf.first_value('b')).show()
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
|          NULL|             1|
+--------------+--------------+

Ejemplo 2: Obtener el primer valor omite los valores NULL

from pyspark.sql import functions as sf
spark.createDataFrame(
    [(None, 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["a", "b"]
).select(sf.first_value('a', True), sf.first_value('b', True)).show()
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
|             a|             1|
+--------------+--------------+