次の方法で共有


シーケンス

開始から停止までの一連の整数を生成し、段階的にインクリメントします。 ステップが設定されていない場合、start が停止以下の場合、関数は 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 または str、省略可能 シーケンス内の次の要素を取得するために現在の要素に追加する値。 start が停止以下の場合は既定値は 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]|
+---------------------------+