Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Calcule les agrégats et retourne le résultat sous la forme d’un DataFrame.
Les fonctions d’agrégation disponibles peuvent être les suivantes :
- Fonctions d’agrégation intégrées, telles que
avg, ,maxmin,sum, .count - Regroupez les fonctions définies par l’utilisateur pandas, créées avec
pyspark.sql.functions.pandas_udf.
Syntaxe
agg(*exprs)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
exprs |
dict ou colonne | Mappage de dicté du nom de colonne (chaîne) aux fonctions d’agrégation (chaîne) ou d’une liste d’expressions d’agrégation Column . |
Retours
DataFrame
Remarques
Les fonctions d’agrégation intégrées et les fonctions d’agrégation de groupe pandas ne peuvent pas être mélangées dans un seul appel à cette fonction.
Lorsqu’il exprs s’agit d’une dictée unique, la clé est la colonne sur laquelle effectuer l’agrégation et la valeur est la fonction d’agrégation. Lorsqu’il exprs s’agit d’une liste d’expressions Column , chaque expression spécifie une agrégation à calculer.
Exemples
import pandas as pd
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[(2, "Alice"), (3, "Alice"), (5, "Bob"), (10, "Bob")], ["age", "name"])
# Group-by name, and count each group.
df.groupBy(df.name).agg({"*": "count"}).sort("name").show()
# +-----+--------+
# | name|count(1)|
# +-----+--------+
# |Alice| 2|
# | Bob| 2|
# +-----+--------+
# Group-by name, and calculate the minimum age.
df.groupBy(df.name).agg(sf.min(df.age)).sort("name").show()
# +-----+--------+
# | name|min(age)|
# +-----+--------+
# |Alice| 2|
# | Bob| 5|
# +-----+--------+
# Same as above but uses a pandas UDF.
from pyspark.sql.functions import pandas_udf
@pandas_udf('int')
def min_udf(v: pd.Series) -> int:
return v.min()
df.groupBy(df.name).agg(min_udf(df.age)).sort("name").show()
# +-----+------------+
# | name|min_udf(age)|
# +-----+------------+
# |Alice| 2|
# | Bob| 5|
# +-----+------------+