groeperen op

Hiermee wordt het DataFrame gegroepeerd op basis van de opgegeven kolommen, zodat aggregatie erop kan worden uitgevoerd. Zie GroupedData voor alle beschikbare statistische functies.

Syntaxis

groupBy(*cols: "ColumnOrNameOrOrdinal")

Parameterwaarden

Kenmerk Typ Beschrijving
cols lijst, str, int of kolom De kolommen om op te groeperen. Elk element kan een kolomnaam (tekenreeks) of een expressie (kolom) of een kolomordinaal (op basis van 1) of een lijst met elementen zijn.

Retouren

GroupedData: Een GroupedData-object dat de gegroepeerde gegevens vertegenwoordigt door de opgegeven kolommen.

Aantekeningen

Een kolomordinaal begint vanaf 1, wat verschilt van de op 0 gebaseerde __getitem__tabel.

Examples

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