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