Condividi tramite


Cumulativo

Creare un rollup multidimensionale per il dataframe corrente usando le colonne specificate, consentendo l'aggregazione su di esse.

Sintassi

rollup(*cols: "ColumnOrNameOrOrdinal")

Parametri

Parametro Tipo Descrizione
cols list, str, int o Column Colonne di cui eseguire il rollup. Ogni elemento deve essere un nome di colonna (stringa) o un'espressione (Colonna) o un ordinale di colonna (int, int, in base 1) o un elenco di essi.

Restituzioni

GroupedData: è stato eseguito il rollup dei dati 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", 5)], schema=["name", "age"])

df.rollup("name").count().orderBy("name").show()
# +-----+-----+
# | name|count|
# +-----+-----+
# | NULL|    2|
# |Alice|    1|
# |  Bob|    1|
# +-----+-----+

df.rollup("name", df.age).count().orderBy("name", "age").show()
# +-----+----+-----+
# | name| age|count|
# +-----+----+-----+
# | NULL|NULL|    2|
# |Alice|NULL|    1|
# |Alice|   2|    1|
# |  Bob|NULL|    1|
# |  Bob|   5|    1|
# +-----+----+-----+