Pular para o conteúdo principal

Dados agrupados

Um conjunto de métodos para agregações em um DataFrame, criado por DataFrame.groupBy.

Compatível com Spark Connect

Sintaxe

Python
DataFrame.groupBy(*cols)

Métodos

Método

Descrição

agg(*exprs)

Calcula os valores agregados e retorna o resultado como um DataFrame. Aceita um dicionário que mapeia nomes de colunas para nomes de funções de agregação, ou uma lista de expressões de coluna de agregação.

avg(*cols)

Calcular os valores médios para cada coluna numérica em cada grupo. mean é um alias.

count()

Conta o número de registros para cada grupo.

max(*cols)

Calcule o valor máximo para cada coluna numérica em cada grupo.

mean(*cols)

Calcular os valores médios para cada coluna numérica em cada grupo. avg é um alias.

min(*cols)

Calcule o valor mínimo para cada coluna numérica em cada grupo.

pivot(pivot_col, values)

Transforma uma coluna do DataFrame atual em um vetor e realiza a agregação especificada.

sum(*cols)

Calcule a soma de cada coluna numérica para cada grupo.

Exemplos

Python
df = spark.createDataFrame(
[(2, "Alice"), (3, "Alice"), (5, "Bob"), (10, "Bob")], ["age", "name"])
df.groupBy("name").count().sort("name").show()
Output
+-----+-----+
| name|count|
+-----+-----+
|Alice| 2|
| Bob| 2|
+-----+-----+
Python
from pyspark.sql import functions as sf

df.groupBy("name").agg(sf.min("age")).sort("name").show()
Output
+-----+--------+
| name|min(age)|
+-----+--------+
|Alice| 2|
| Bob| 5|
+-----+--------+
Python
df.groupBy("name").avg("age").sort("name").show()
Output
+-----+--------+
| name|avg(age)|
+-----+--------+
|Alice| 2.5|
| Bob| 7.5|
+-----+--------+
Python
from pyspark.sql import Row

df1 = spark.createDataFrame([
Row(course="dotNET", year=2012, earnings=10000),
Row(course="Java", year=2012, earnings=20000),
Row(course="dotNET", year=2013, earnings=48000),
Row(course="Java", year=2013, earnings=30000),
])
df1.groupBy("year").pivot("course", ["dotNET", "Java"]).sum("earnings").sort("year").show()
Output
+----+------+-----+
|year|dotNET| Java|
+----+------+-----+
|2012| 10000|20000|
|2013| 48000|30000|
+----+------+-----+