Condividi tramite


primo

Restituisce il primo valore di un gruppo. La funzione per impostazione predefinita restituisce i primi valori visualizzati. Restituisce il primo valore non Null visualizzato quando ignoreNulls è impostato su true. Se tutti i valori sono Null, viene restituito null. La funzione non è deterministica perché i risultati dipendono dall'ordine delle righe che possono essere non deterministiche dopo una sequenza casuale.

Sintassi

from pyspark.sql import functions as sf

sf.first(col, ignorenulls=False)

Parametri

Parametro TIPO Description
col pyspark.sql.Column o il nome della colonna Colonna per cui recuperare il primo valore.
ignorenulls bool Se il primo valore è Null, cercare il primo valore non Null. False per impostazione predefinita.

Restituzioni

pyspark.sql.Column: primo valore del gruppo.

Esempi

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()
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice|      NULL|
|  Bob|         5|
+-----+----------+

Per ignorare tutti i valori Null, impostare su ignorenullsTrue:

df.groupby("name").agg(sf.first("age", ignorenulls=True)).orderBy("name").show()
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice|         2|
|  Bob|         5|
+-----+----------+