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