共用方式為


序列

從開始到結束產生一列整數,逐步遞增。 若未設定步進,若開始值小於停止,函數會遞增1,否則遞減1。

語法

from pyspark.sql import functions as sf

sf.sequence(start, stop, step=None)

參數

參數 類型 Description
start pyspark.sql.Column 或 str 序列的起始值(含)。
stop pyspark.sql.Column 或 str 序列的最後一個值(包含)。
step pyspark.sql.Column 或是力量,選用 要加到目前元素上的值,以取得序列中的下一個元素。 如果開始值小於或等於停止,預設值為 1,否則為 -1。

退貨

pyspark.sql.Column: 一個包含序列值陣列的新欄位。

範例

範例 1:產生預設步驟的序列

import pyspark.sql.functions as sf
df = spark.createDataFrame([(-2, 2)], ['start', 'stop'])
df.select(sf.sequence(df.start, df.stop)).show()
+---------------------+
|sequence(start, stop)|
+---------------------+
|    [-2, -1, 0, 1, 2]|
+---------------------+

範例 2:使用自訂步驟產生序列

import pyspark.sql.functions as sf
df = spark.createDataFrame([(4, -4, -2)], ['start', 'stop', 'step'])
df.select(sf.sequence(df.start, df.stop, df.step)).show()
+---------------------------+
|sequence(start, stop, step)|
+---------------------------+
|          [4, 2, 0, -2, -4]|
+---------------------------+

範例 3:產生負步驟的序列

import pyspark.sql.functions as sf
df = spark.createDataFrame([(5, 1, -1)], ['start', 'stop', 'step'])
df.select(sf.sequence(df.start, df.stop, df.step)).show()
+---------------------------+
|sequence(start, stop, step)|
+---------------------------+
|            [5, 4, 3, 2, 1]|
+---------------------------+