Compartilhar via


agruparPor

Agrupa o DataFrame pelas colunas especificadas para que a agregação possa ser executada nelas. Consulte GroupedData todas as funções de agregação disponíveis.

Sintaxe

groupBy(*cols: "ColumnOrNameOrOrdinal")

Parâmetros

Parâmetro Tipo Descrição
cols list, str, int ou Column As colunas pelas quais agrupar. Cada elemento pode 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: um objeto GroupedData que representa os dados agrupados pelas 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", 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|
# +-----+---+-----+