Aller au contenu principal

dernier

Renvoie la dernière valeur d'un groupe. La fonction returns by default les dernières valeurs qu’elle voit. Il renverra la dernière valeur non-nulle qu’il détecte 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.last(col, ignorenulls=False)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

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

ignorenulls

booléen

Si la dernière valeur est nulle, recherchez une valeur non nulle. Faux par default.

parameter

Type

Description

col

pyspark.sql.Column ou nom de colonne

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

ignorenulls

booléen

Si la dernière valeur est nulle, recherchez une valeur non nulle. Faux par default.

Renvoie

pyspark.sql.Column: derniè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.desc())
df.groupby("name").agg(sf.last("age")).orderBy("name").show()
Output
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice| NULL|
| Bob| 5|
+-----+---------+

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

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