Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sekumpulan metode untuk agregasi pada DataFrame, yang dibuat oleh DataFrame.groupBy.
Mendukung Spark Connect
Sintaksis
DataFrame.groupBy(*cols)
Metode
| Metode | Deskripsi |
|---|---|
agg(*exprs) |
Menghitung agregat dan mengembalikan hasilnya sebagai DataFrame. Menerima nama kolom pemetaan kamus untuk mengagregasi nama fungsi, atau daftar ekspresi Kolom agregat. |
avg(*cols) |
Menghitung nilai rata-rata untuk setiap kolom numerik untuk setiap grup.
mean adalah alias. |
count() |
Menghitung jumlah rekaman untuk setiap grup. |
max(*cols) |
Menghitung nilai maksimum untuk setiap kolom numerik untuk setiap grup. |
mean(*cols) |
Menghitung nilai rata-rata untuk setiap kolom numerik untuk setiap grup.
avg adalah alias. |
min(*cols) |
Menghitung nilai min untuk setiap kolom numerik untuk setiap grup. |
pivot(pivot_col, values) |
Mempivot kolom DataFrame saat ini dan melakukan agregasi yang ditentukan. |
sum(*cols) |
Menghitung jumlah untuk setiap kolom numerik untuk setiap grup. |
Examples
df = spark.createDataFrame(
[(2, "Alice"), (3, "Alice"), (5, "Bob"), (10, "Bob")], ["age", "name"])
df.groupBy("name").count().sort("name").show()
+-----+-----+
| name|count|
+-----+-----+
|Alice| 2|
| Bob| 2|
+-----+-----+
from pyspark.sql import functions as sf
df.groupBy("name").agg(sf.min("age")).sort("name").show()
+-----+--------+
| name|min(age)|
+-----+--------+
|Alice| 2|
| Bob| 5|
+-----+--------+
df.groupBy("name").avg("age").sort("name").show()
+-----+--------+
| name|avg(age)|
+-----+--------+
|Alice| 2.5|
| Bob| 7.5|
+-----+--------+
from pyspark.sql import Row
df1 = spark.createDataFrame([
Row(course="dotNET", year=2012, earnings=10000),
Row(course="Java", year=2012, earnings=20000),
Row(course="dotNET", year=2013, earnings=48000),
Row(course="Java", year=2013, earnings=30000),
])
df1.groupBy("year").pivot("course", ["dotNET", "Java"]).sum("earnings").sort("year").show()
+----+------+-----+
|year|dotNET| Java|
+----+------+-----+
|2012| 10000|20000|
|2013| 48000|30000|
+----+------+-----+