Udostępnij przez


sekwencja

Wygeneruj sekwencję liczb całkowitych od początku do zatrzymania, zwiększając ją krok po kroku. Jeśli krok nie jest ustawiony, funkcja zwiększa się o 1, jeśli uruchomienie jest mniejsze niż lub równe zatrzymaniu, w przeciwnym razie zmniejsza się o 1.

Składnia

from pyspark.sql import functions as sf

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

Parametry

Parameter Typ Description
start pyspark.sql.Column lub str Wartość początkowa (włącznie) sekwencji.
stop pyspark.sql.Column lub str Ostatnia wartość (włącznie) sekwencji.
step pyspark.sql.Column lub str, opcjonalnie Wartość do dodania do bieżącego elementu w celu pobrania następnego elementu w sekwencji. Wartość domyślna to 1, jeśli początek jest mniejszy niż lub równy zatrzymaniu, w przeciwnym razie -1.

Zwraca

pyspark.sql.Column: nowa kolumna zawierająca tablicę wartości sekwencji.

Przykłady

Przykład 1. Generowanie sekwencji przy użyciu kroku domyślnego

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

Przykład 2. Generowanie sekwencji za pomocą kroku niestandardowego

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

Przykład 3. Generowanie sekwencji z negatywnym krokiem

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