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 |
|---|---|---|
|
| Colonne pour laquelle récupérer la dernière valeur. |
| 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|
+-----+---------+