Pular para o conteúdo principal

cubo

Crie um cubo multidimensional para o DataFrame atual usando as colunas especificadas, permitindo que agregações sejam realizadas nelas.

Sintaxe

cube(*cols: "ColumnOrName")

Parâmetros

Parâmetro

Tipo

Descrição

cols

lista, string, inteiro ou coluna

As colunas pelas quais se deve elevar o cubo. Cada elemento deve ser um nome de coluna (strings), uma expressão (Column), um número ordinal de coluna (int, baseado em 1) ou uma lista deles.

Devoluções

GroupedDataCubo dos dados com base nas colunas especificadas.

Notas

Um ordinal de coluna começa em 1, o que é diferente de __getitem__ baseado em 0.

Exemplos

Python
df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], schema=["name", "age"])

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

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