Aller au contenu principal

groupBy

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

Syntaxe​

groupBy(*cols: "ColumnOrNameOrOrdinal")

parameter​

parameter

Type

Description

cols

list, str, int ou Colonne

Les colonnes à regrouper. Chaque élément peut être un nom de colonne (chaîne de caractères), une expression (colonne), un ordinal de colonne (entier, base 1) ou une liste de ces éléments.

parameter

Type

Description

cols

list, str, int ou Colonne

Les colonnes à regrouper. Chaque élément peut être un nom de colonne (chaîne de caractères), une expression (colonne), un ordinal de colonne (entier, base 1) ou une liste de ces éléments.

Renvoie​

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

Notes​

Un ordinal de colonne start à partir de 1, ce qui est différent du __getitem__ basé sur 0.

Exemples​

Python
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|
# +-----+---+-----+