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.
Fungsi jendela: mengembalikan nilai yang merupakan offsetbaris ke-bingkai jendela (dihitung dari 1), dan null jika ukuran bingkai jendela kurang dari offset baris.
Ini akan mengembalikan offsetnilai non-null ke-th yang dilihatnya ketika ignoreNulls diatur ke true. Jika semua nilai null, maka null dikembalikan.
Ini setara dengan fungsi nth_value di SQL.
Syntax
from pyspark.sql import functions as sf
sf.nth_value(col, offset, ignoreNulls=False)
Parameter-parameternya
| Pengaturan | Tipe | Description |
|---|---|---|
col |
pyspark.sql.Column atau nama kolom |
Nama kolom atau ekspresi. |
offset |
int | Jumlah baris yang akan digunakan sebagai nilai. |
ignoreNulls |
bool, opsional | Menunjukkan nilai Nth harus melewati null dalam penentuan baris mana yang akan digunakan. |
Pengembalian Barang
pyspark.sql.Column: nilai baris ke-n.
Examples
Contoh 1: Dapatkan nilai pertama dalam bingkai jendela
from pyspark.sql import functions as sf
from pyspark.sql import Window
df = spark.createDataFrame(
[("a", 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["c1", "c2"])
df.show()
+---+---+
| c1| c2|
+---+---+
| a| 1|
| a| 2|
| a| 3|
| b| 8|
| b| 2|
+---+---+
w = Window.partitionBy("c1").orderBy("c2")
df.withColumn("nth_value", sf.nth_value("c2", 1).over(w)).show()
+---+---+---------+
| c1| c2|nth_value|
+---+---+---------+
| a| 1| 1|
| a| 2| 1|
| a| 3| 1|
| b| 2| 2|
| b| 8| 2|
+---+---+---------+
Contoh 2: Dapatkan nilai kedua dalam bingkai jendela
from pyspark.sql import functions as sf
from pyspark.sql import Window
df = spark.createDataFrame(
[("a", 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["c1", "c2"])
w = Window.partitionBy("c1").orderBy("c2")
df.withColumn("nth_value", sf.nth_value("c2", 2).over(w)).show()
+---+---+---------+
| c1| c2|nth_value|
+---+---+---------+
| a| 1| NULL|
| a| 2| 2|
| a| 3| 2|
| b| 2| NULL|
| b| 8| 8|
+---+---+---------+