Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Calcola le aggregazioni e restituisce il risultato come .DataFrame
Le funzioni di aggregazione disponibili possono essere:
- Funzioni di aggregazione predefinite, ad esempio
avg,maxmin, ,sum,count. - Raggruppare le funzioni definite dall'utente pandas aggregate, create con
pyspark.sql.functions.pandas_udf.
Sintassi
agg(*exprs)
Parametri
| Parametro | Tipo | Descrizione |
|---|---|---|
exprs |
dict o Column | Mapping dict dal nome di colonna (stringa) alle funzioni di aggregazione (stringa) o a un elenco di espressioni di aggregazione Column . |
Restituzioni
DataFrame
Note
Le funzioni di aggregazione predefinite e le funzioni di aggregazione dei gruppi pandas non possono essere miste in una singola chiamata a questa funzione.
Quando exprs è un singolo dict, la chiave è la colonna su cui eseguire l'aggregazione e il valore è la funzione di aggregazione. Quando exprs è un elenco di Column espressioni, ogni espressione specifica un'aggregazione da calcolare.
Examples
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|
# +-----+------------+