Aller au contenu principal

premier

Renvoie la première valeur d'un groupe. La fonction par default renvoie les premières valeurs qu'elle rencontre. Il renverra la première valeur non nulle qu'il trouve lorsque ignoreNulls est défini sur true. Si toutes les valeurs sont nulles, alors null est renvoyé. La fonction est non déterministe car ses résultats dépendent de l'ordre des lignes qui peut être non déterministe après un mélange.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.first(col, ignorenulls=False)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

Colonne pour laquelle récupérer la première valeur.

ignorenulls

booléen

Si la première valeur est nulle, alors recherchez la première valeur non nulle. Faux par default.

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

Colonne pour laquelle récupérer la première valeur.

ignorenulls

booléen

Si la première valeur est nulle, alors recherchez la première valeur non nulle. Faux par default.

Renvoie

pyspark.sql.Column: première valeur du groupe.

Exemples

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

Pour ignorer toutes les valeurs nulles, définissez ignorenulls sur True:

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