Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce okna: vrátí hodnotu, která je offsetth řádek rámce okna (počítá se od 1) a null pokud je velikost rámečku okna menší než offset řádky.
offsetVrátí th non-null hodnotu, která se zobrazí, když ignoreNulls je nastavena na hodnotu true. Pokud jsou všechny hodnoty null, vrátí se hodnota null.
To odpovídá funkci nth_value v SQL.
Syntaxe
from pyspark.sql import functions as sf
sf.nth_value(col, offset, ignoreNulls=False)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo název sloupce |
Název sloupce nebo výrazu |
offset |
int | Počet řádků, které se mají použít jako hodnota |
ignoreNulls |
bool, volitelné | Označuje Nth hodnotu by měla přeskočit hodnotu null při určování, který řádek se má použít. |
Návraty
pyspark.sql.Column: hodnota nth row.
Examples
Příklad 1: Získání první hodnoty v rámečku okna
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|
+---+---+---------+
Příklad 2: Získání druhé hodnoty v rámečku okna
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|
+---+---+---------+