pyspark.sql.functions.ntile ¶
-
pyspark.sql.functions.
ntile
( n : int ) → pyspark.sql.column.Column [source] ¶ -
窗口函数:返回有序窗口分区中的ntile组ID(从1到 n ,包含 n )。例如,如果 n 是4,第一季度的行将获得值1,第二季度将获得2,第三季度将获得3,最后一季度将获得4。
这等同于SQL中的NTILE函数。
新增于版本 1.4.0。
在版本 3.4.0 中更改: 支持 Spark Connect。
- Parameters
-
- n int
-
一个整数
- Returns
-
-
Column
-
分组ID。
-
示例
>>> 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", ntile(2).over(w)).show() +---+---+-----+ | c1| c2|ntile| +---+---+-----+ | a| 1| 1| | a| 2| 1| | a| 3| 2| | b| 2| 1| | b| 8| 2| +---+---+-----+