seskupit podle

Seskupí datový rámec podle zadaných sloupců, aby s nimi bylo možné provést agregaci. Podívejte se GroupedData na všechny dostupné agregační funkce.

Syntaxe

groupBy(*cols: "ColumnOrNameOrOrdinal")

Parametry

Parameter Typ Description
cols list, str, int nebo Column Sloupce, podle kterých se mají seskupit. Každý prvek může být název sloupce (řetězec) nebo výraz (Column) nebo pořadové číslo sloupce (int, 1) nebo jejich seznam.

Návraty

GroupedData: Objekt GroupedData představující seskupené data podle zadaných sloupců.

Poznámky

Pořadový řádek sloupce začíná od 1, který se liší od 0 .__getitem__

Příklady

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