Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Berekent aggregaties en retourneert het resultaat als een DataFrame.
De beschikbare statistische functies kunnen het volgende zijn:
- Ingebouwde aggregatiefuncties, zoals
avg,max,min, ,sum, .count - Groepsaggregaties pandas UDF's, gemaakt met
pyspark.sql.functions.pandas_udf.
Syntaxis
agg(*exprs)
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
exprs |
dicteren of kolom | Een dicttoewijzing van kolomnaam (tekenreeks) naar statistische functies (tekenreeks) of een lijst met statistische Column expressies. |
Retouren
DataFrame
Aantekeningen
Ingebouwde aggregatiefuncties en groepsaggregatie pandas UDF's kunnen niet worden gemengd in één aanroep van deze functie.
Wanneer exprs één dicteerfunctie is, is de sleutel de kolom waarop aggregatie moet worden uitgevoerd en de waarde de statistische functie is. Wanneer exprs is een lijst Column met expressies, geeft elke expressie een aggregatie op die moet worden berekend.
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|
# +-----+------------+