Pular para o conteúdo principal

primeiro_valor

Retorna o primeiro valor de col para um grupo de linhas. Ele retornará o primeiro valor não nulo que encontrar quando ignoreNulls estiver definido como verdadeiro. Se todos os valores forem nulos, então será retornado nulo.

Sintaxe

Python
from pyspark.sql import functions as sf

sf.first_value(col, ignoreNulls=None)

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

coluna de destino para trabalhar.

ignoreNulls

pyspark.sql.Column ou booleano, opcional

Se o primeiro valor for nulo, procure o primeiro valor não nulo.

Devoluções

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

Exemplos

Exemplo 1 : Obter o primeiro valor sem ignorar valores nulos

Python
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()
Output
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
| NULL| 1|
+--------------+--------------+

Exemplo 2 : Obter o primeiro valor ignorando valores nulos

Python
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()
Output
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
| a| 1|
+--------------+--------------+