Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Oblicza agregację i zwraca wynik jako DataFrame.
Dostępne funkcje agregujące mogą być następujące:
- Wbudowane funkcje agregacji, takie jak
avg, ,maxmin,sum, .count - Grupuj agregowanie zdefiniowanych przez użytkownika biblioteki pandas utworzonych za pomocą
pyspark.sql.functions.pandas_udfpolecenia .
Składnia
agg(*exprs)
Parametry
| Parameter | Typ | Opis |
|---|---|---|
exprs |
dykt lub kolumna | Mapowanie dyktowania z nazwy kolumny (ciągu) na funkcje agregujące (ciąg) lub listę wyrażeń agregujących Column . |
Zwroty
DataFrame
Notatki
Wbudowane funkcje agregacji i agregujące funkcje zdefiniowane przez użytkownika biblioteki pandas nie mogą być mieszane w jednym wywołaniu tej funkcji.
Gdy exprs jest pojedynczym dykt, kluczem jest kolumna do wykonania agregacji, a wartość jest funkcją agregacji. Gdy exprs jest listą Column wyrażeń, każde wyrażenie określa agregację do obliczeń.
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|
# +-----+------------+