ntile

Funkce okna: Vrátí ID skupiny ntile (od 1 do n včetně) v uspořádaném oddílu okna. Pokud je například n 4, první čtvrtletí řádků získá hodnotu 1, druhé čtvrtletí získá hodnotu 2, třetí čtvrtletí získá 3 a poslední čtvrtletí získá 4.

To je ekvivalent funkce NTILE v SQL.

Syntaxe

from pyspark.sql import functions as sf

sf.ntile(n)

Parametry

Parameter Typ Description
n int Celé číslo určující počet skupin, do které se má oddíl rozdělit.

Návraty

pyspark.sql.Column: ID skupiny s částmi.

Examples

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("ntile", sf.ntile(2).over(w)).show()
+---+---+-----+
| c1| c2|ntile|
+---+---+-----+
|  a|  1|    1|
|  a|  2|    1|
|  a|  3|    2|
|  b|  2|    1|
|  b|  8|    2|
+---+---+-----+