Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Grupperar DataFrame efter de angivna kolumnerna så att aggregering kan utföras på dem. Se GroupedData för alla tillgängliga mängdfunktioner.
Syntax
groupBy(*cols: "ColumnOrNameOrOrdinal")
Parameters
| Parameter | Type | Beskrivning |
|---|---|---|
cols |
list, str, int eller Column | De kolumner som ska grupperas efter. Varje element kan vara ett kolumnnamn (sträng) eller ett uttryck (kolumn) eller en kolumnordning (int, 1-baserad) eller en lista över dem. |
Retur
GroupedData: Ett GroupedData-objekt som representerar grupperade data efter de angivna kolumnerna.
Notes
En kolumnordning startar från 1, vilket skiljer sig från 0-baserade __getitem__.
Exempel
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|
# +-----+---+-----+