Partager via


first_value

Retourne la première valeur de col pour un groupe de lignes. Elle retourne la première valeur non null qu’elle voit quand ignoreNulls est définie sur true. Si toutes les valeurs sont null, la valeur Null est retournée.

Syntaxe

from pyspark.sql import functions as sf

sf.first_value(col, ignoreNulls=None)

Paramètres

Paramètre Type Descriptif
col pyspark.sql.Column ou str Colonne cible sur laquelle travailler.
ignoreNulls pyspark.sql.Column ou bool, facultatif Si la première valeur est Null, recherchez la première valeur non null.

Retours

pyspark.sql.Column: valeur d’un col groupe de lignes.

Examples

Exemple 1 : Obtenir la première valeur sans ignorer les valeurs Null

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

Exemple 2 : Obtenir la première valeur ignorant les valeurs Null

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