Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Calcula los agregados y devuelve el resultado como .DataFrame
Las funciones de agregado disponibles pueden ser:
- Funciones de agregación integradas, como
avg,max,min, ,sum.count - Agrupa las UDF de pandas agregadas, creadas con
pyspark.sql.functions.pandas_udf.
Sintaxis
agg(*exprs)
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
exprs |
dict o Column | Asignación dict de nombre de columna (cadena) a funciones agregadas (cadena) o una lista de expresiones de agregado Column . |
Devoluciones
DataFrame
Notas
Las funciones de agregación integradas y las UDF de pandas agregadas de grupo no se pueden mezclar en una sola llamada a esta función.
Cuando exprs es un único dict, la clave es la columna en la que se va a realizar la agregación y el valor es la función de agregado. Cuando exprs es una lista de Column expresiones, cada expresión especifica una agregación para calcular.
Ejemplos
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|
# +-----+------------+