Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Berechnet Aggregate und gibt das Ergebnis als ein DataFrame.
Die verfügbaren Aggregatfunktionen können folgendes sein:
- Integrierte Aggregationsfunktionen wie
avg,max,min,sum.count - Gruppenaggregat pandas UDFs, erstellt mit
pyspark.sql.functions.pandas_udf.
Syntax
agg(*exprs)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
exprs |
Diktieren oder Spalte | Eine Diktatzuordnung von Spaltennamen (Zeichenfolge) zu Aggregatfunktionen (Zeichenfolge) oder eine Liste von Aggregatausdrücken Column . |
Rückkehr
DataFrame
Hinweise
Integrierte Aggregationsfunktionen und Gruppenaggregat-Pandas-UDFs können nicht in einem einzigen Aufruf dieser Funktion gemischt werden.
Wenn exprs es sich um ein einzelnes Diktat handelt, ist der Schlüssel die Spalte, für die Aggregation ausgeführt werden soll, und der Wert ist die Aggregatfunktion. Wenn exprs es sich um eine Liste von Column Ausdrücken handelt, gibt jeder Ausdruck eine zu berechnende Aggregation an.
Beispiele
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|
# +-----+------------+