gruppera efter

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