Condividi tramite


raggruppaPer

Raggruppa il dataframe in base alle colonne specificate in modo che l'aggregazione possa essere eseguita su di esse. Vedere GroupedData per tutte le funzioni di aggregazione disponibili.

Sintassi

groupBy(*cols: "ColumnOrNameOrOrdinal")

Parametri

Parametro Tipo Descrizione
cols list, str, int o Column Colonne da raggruppare. Ogni elemento può essere un nome di colonna (stringa) o un'espressione (Colonna) o un ordinale di colonna (int, basato su 1) o un elenco di essi.

Restituzioni

GroupedData: oggetto GroupedData che rappresenta i dati raggruppati in base alle colonne specificate.

Note

Un ordinale di colonna inizia da 1, che è diverso da quello basato su __getitem__0.

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