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.

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