Compartilhar via


first_value

Retorna o primeiro valor de col em um grupo de linhas. Ele retornará o primeiro valor não nulo que ele vê quando ignoreNulls for definido como true. Se todos os valores forem nulos, será retornado nulo.

Sintaxe

from pyspark.sql import functions as sf

sf.first_value(col, ignoreNulls=None)

Parâmetros

Parâmetro Tipo Description
col pyspark.sql.Column ou str Coluna de destino na qual trabalhar.
ignoreNulls pyspark.sql.Column ou bool, opcional Se o primeiro valor for nulo, procure o primeiro valor não nulo.

Devoluções

pyspark.sql.Column: algum valor de col um grupo de linhas.

Exemplos

Exemplo 1: Obter o primeiro valor sem ignorar nulos

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|
+--------------+--------------+

Exemplo 2: Obter o primeiro valor ignorando nulos

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|
+--------------+--------------+