Freigeben über


first_value

Gibt den ersten Wert von col für eine Zeilengruppe zurück. Er gibt den ersten Wert ungleich Null zurück, der angezeigt wird, wenn ignoreNulls er auf "true" festgelegt ist. Wenn alle Werte null sind, wird NULL zurückgegeben.

Syntax

from pyspark.sql import functions as sf

sf.first_value(col, ignoreNulls=None)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder str Zielspalte, an der gearbeitet werden soll.
ignoreNulls pyspark.sql.Column oder Bool, optional Wenn der erste Wert null ist, suchen Sie nach dem ersten Wert ungleich Null.

Rückkehr

pyspark.sql.Column: ein Wert col für eine Gruppe von Zeilen.

Examples

Beispiel 1: Abrufen eines ersten Werts ohne Ignorieren von Nullen

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

Beispiel 2: Abrufen des ersten Werts, der NULL-Werte ignoriert

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