primeiro
Retorna o primeiro valor de um grupo. Por default a função retorna os primeiros valores que encontra. A função retornará o primeiro valor não nulo encontrado quando `ignoreNulls` estiver definido como verdadeiro. Se todos os valores forem nulos, então será retornado nulo. A função não é determinística porque seus resultados dependem da ordem das linhas, que pode ser não determinística após um embaralhamento.
Sintaxe
Python
from pyspark.sql import functions as sf
sf.first(col, ignorenulls=False)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Coluna para a qual será obtido o primeiro valor. |
| booleano | Se o primeiro valor for nulo, procure o primeiro valor não nulo. Por default, é falso. |
Devoluções
pyspark.sql.Column: primeiro valor do grupo.
Exemplos
Python
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()
Output
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice| NULL|
| Bob| 5|
+-----+----------+
Para ignorar quaisquer valores nulos, defina ignorenulls como True:
Python
df.groupby("name").agg(sf.first("age", ignorenulls=True)).orderBy("name").show()
Output
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice| 2|
| Bob| 5|
+-----+----------+