regrouper par

Regroupe le DataFrame par les colonnes spécifiées afin que l’agrégation puisse être effectuée sur ces colonnes. Consultez GroupedData toutes les fonctions d’agrégation disponibles.

Syntaxe

groupBy(*cols: "ColumnOrNameOrOrdinal")

Paramètres

Paramètre Type Description
cols list, str, int ou Column Colonnes à regrouper. Chaque élément peut être un nom de colonne (chaîne) ou une expression (Column) ou un ordinal de colonne (int, 1) ou une liste d’entre eux.

Retours

GroupedData: objet GroupdData représentant les données groupées par les colonnes spécifiées.

Remarques

Un ordinal de colonne commence à partir de 1, qui est différent de celui basé sur __getitem__0.

Exemples

df = spark.createDataFrame([
    ("Alice", 2), ("Bob", 2), ("Bob", 2), ("Bob", 5)], schema=["name", "age"])

df.groupBy().avg().show()
# +--------+
# |avg(age)|
# +--------+
# |    2.75|
# +--------+

df.groupBy("name").agg({"age": "sum"}).sort("name").show()
# +-----+--------+
# | name|sum(age)|
# +-----+--------+
# |Alice|       2|
# |  Bob|       9|
# +-----+--------+

df.groupBy(df.name).max().sort("name").show()
# +-----+--------+
# | name|max(age)|
# +-----+--------+
# |Alice|       2|
# |  Bob|       5|
# +-----+--------+

df.groupBy(["name", df.age]).count().sort("name", "age").show()
# +-----+---+-----+
# | name|age|count|
# +-----+---+-----+
# |Alice|  2|    1|
# |  Bob|  2|    2|
# |  Bob|  5|    1|
# +-----+---+-----+