Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İşlemler toplar ve sonucu olarak DataFramedöndürür.
Kullanılabilir toplama işlevleri şu şekilde olabilir:
- ,
avg,maxminsumgibicountyerleşik toplama işlevleri. - ile
pyspark.sql.functions.pandas_udfoluşturulan grup toplama pandas UDF'leri.
Sözdizimi
agg(*exprs)
Parametreler
| Parametre | Türü | Açıklama |
|---|---|---|
exprs |
dict veya Sütun | Sütun adından (dize) toplama işlevlerine (dize) veya toplama Column ifadeleri listesine yönelik bir dikte eşlemesi. |
İadeler
DataFrame
Notlar
Yerleşik toplama işlevleri ve grup toplama pandas UDF'leri bu işleve yapılan tek bir çağrıda karıştırılamaz.
Tek bir dikte olduğunda exprs , anahtar toplamanın gerçekleştirilmesi gereken sütundur ve değer toplama işlevidir. İfadelerin exprs listesi olduğundaColumn, her ifade işlem için bir toplama belirtir.
Örnekler
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|
# +-----+------------+