first_value
Renvoie la première valeur de col pour un groupe de lignes. Il renverra la première valeur non nulle qu'il trouve lorsque ignoreNulls est défini sur true. Si toutes les valeurs sont nulles, la valeur nulle est renvoyée.
Syntaxe
Python
from pyspark.sql import functions as sf
sf.first_value(col, ignoreNulls=None)
parameter
parameter | Type | Description |
|---|---|---|
|
| Colonne cible sur laquelle travailler. |
|
| Si la première valeur est nulle, alors recherchez la première valeur non nulle. |
Renvoie
pyspark.sql.Column : une certaine valeur de col pour un groupe de lignes.
Exemples
**Exemple 1** : Obtenir la première valeur sans ignorer les valeurs nulles
Python
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()
Output
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
| NULL| 1|
+--------------+--------------+
Exemple 2 : Obtenir la première valeur en ignorant les valeurs nulles
Python
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()
Output
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
| a| 1|
+--------------+--------------+