Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Calcula agregações e retorna o resultado como um DataFrame.
As funções de agregação disponíveis podem ser:
- Funções de agregação internas, como
avg, ,max,min, ,sum.count - Agrupar UDFs de pandas agregados, criados com
pyspark.sql.functions.pandas_udf.
Sintaxe
agg(*exprs)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
exprs |
ditado ou coluna | Um mapeamento de ditado do nome da coluna (cadeia de caracteres) para funções de agregação (cadeia de caracteres) ou uma lista de expressões de agregação Column . |
Devoluções
DataFrame
Observações
Funções de agregação internas e UDFs de agregação de grupo pandas não podem ser misturadas em uma única chamada para essa função.
Quando exprs é um único ditado, a chave é a coluna na qual executar a agregação e o valor é a função de agregação. Quando exprs há uma lista de Column expressões, cada expressão especifica uma agregação para computação.
Exemplos
import pandas as pd
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[(2, "Alice"), (3, "Alice"), (5, "Bob"), (10, "Bob")], ["age", "name"])
# Group-by name, and count each group.
df.groupBy(df.name).agg({"*": "count"}).sort("name").show()
# +-----+--------+
# | name|count(1)|
# +-----+--------+
# |Alice| 2|
# | Bob| 2|
# +-----+--------+
# Group-by name, and calculate the minimum age.
df.groupBy(df.name).agg(sf.min(df.age)).sort("name").show()
# +-----+--------+
# | name|min(age)|
# +-----+--------+
# |Alice| 2|
# | Bob| 5|
# +-----+--------+
# Same as above but uses a pandas UDF.
from pyspark.sql.functions import pandas_udf
@pandas_udf('int')
def min_udf(v: pd.Series) -> int:
return v.min()
df.groupBy(df.name).agg(min_udf(df.age)).sort("name").show()
# +-----+------------+
# | name|min_udf(age)|
# +-----+------------+
# |Alice| 2|
# | Bob| 5|
# +-----+------------+