다음을 통해 공유


ntile

Window 함수: 순서가 지정된 창 파티션에서 ntile 그룹 ID(1 n 에서 포함)를 반환합니다. 예를 들어 4이면 n 행의 1분기는 값 1을, 2분기는 2를, 3분기는 3을, 마지막 분기는 4를 가져옵니다.

이는 SQL의 NTILE 함수와 동일합니다.

문법

from pyspark.sql import functions as sf

sf.ntile(n)

매개 변수

매개 변수 유형 Description
n 정수 (int) 파티션을 나눌 그룹 수를 지정하는 정수입니다.

Returns

pyspark.sql.Column: 부분 그룹 ID입니다.

예시

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|
+---+---+-----+