Bagikan melalui


last

Mengembalikan nilai terakhir dalam grup. Fungsi secara default mengembalikan nilai terakhir yang dilihatnya. Ini akan mengembalikan nilai non-null terakhir yang dilihatnya ketika ignoreNulls diatur ke true. Jika semua nilai null, maka null dikembalikan. Fungsi ini tidak deterministik karena hasilnya tergantung pada urutan baris yang mungkin tidak deterministik setelah acak.

Syntax

from pyspark.sql import functions as sf

sf.last(col, ignorenulls=False)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau nama kolom Kolom untuk mengambil nilai terakhir.
ignorenulls bool Jika nilai terakhir null, cari nilai non-null. Salah secara default.

Pengembalian Barang

pyspark.sql.Column: nilai terakhir grup.

Examples

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5), ("Alice", None)], ("name", "age"))
df = df.orderBy(df.age.desc())
df.groupby("name").agg(sf.last("age")).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice|     NULL|
|  Bob|        5|
+-----+---------+

Untuk mengabaikan nilai null, atur ignorenulls ke True:

df.groupby("name").agg(sf.last("age", ignorenulls=True)).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice|        2|
|  Bob|        5|
+-----+---------+