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