Freigeben über


erste

Gibt den ersten Wert in einer Gruppe zurück. Die Funktion gibt standardmäßig die ersten angezeigten Werte zurück. Er gibt den ersten Nicht-Null-Wert zurück, der angezeigt wird, wenn ignoreNulls auf "true" festgelegt ist. Wenn alle Werte null sind, wird NULL zurückgegeben. Die Funktion ist nicht deterministisch, da ihre Ergebnisse von der Reihenfolge der Zeilen abhängen, die nach einem Shuffle möglicherweise nicht deterministisch sind.

Syntax

from pyspark.sql import functions as sf

sf.first(col, ignorenulls=False)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder Spaltenname Spalte, für die der erste Wert abgerufen werden soll.
ignorenulls Boolesch Wenn der erste Wert null ist, suchen Sie nach dem ersten Wert ungleich Null. Standardmäßig false.

Rückkehr

pyspark.sql.Column: erster Wert der Gruppe.

Examples

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

Um nullwerte zu ignorieren, legen Sie folgendes ignorenulls fest:True

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