acumulación

Cree un paquete acumulativo multidimensional para el dataframe actual mediante las columnas especificadas, lo que permite la agregación en ellos.

Sintaxis

rollup(*cols: "ColumnOrNameOrOrdinal")

Parámetros

Parámetro Tipo Descripción
cols list, str, int o Column Columnas que se van a acumular. Cada elemento debe ser un nombre de columna (cadena) o una expresión (Columna) o un ordinal de columna (int, basado en 1) o una lista de ellos.

Devoluciones

GroupedData: datos acumulados basados en las columnas especificadas.

Notas

Un ordinal de columna comienza a partir de 1, que es diferente del basado en __getitem__0.

Ejemplos

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