Compartilhar via


cubo

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

Sintaxe

cube(*cols: "ColumnOrName")

Parâmetros

Parâmetro Tipo Descrição
cols list, str, int ou Column As colunas a serem cubos. Cada elemento deve ser um nome de coluna (cadeia de caracteres) ou uma expressão (Coluna) ou uma coluna ordinal (int, com base em 1) ou uma lista deles.

Devoluções

GroupedData: cubo dos dados com base nas colunas especificadas.

Observações

Um ordinal de coluna começa a partir de 1, que é diferente do baseado em __getitem__0.

Exemplos

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