Aller au contenu principal

séquence

Générez une séquence d'entiers de start à fin, en incrémentant par pas. Si le pas n'est pas défini, la fonction s'incrémente de 1 si le start est inférieur ou égal à la fin, sinon elle se décrémente de 1.

Syntaxe

Python
from pyspark.sql import functions as sf

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

parameter

parameter

Type

Description

start

pyspark.sql.Column ou str

La valeur de départ (incluse) de la séquence.

stop

pyspark.sql.Column ou str

La dernière valeur (incluse) de la séquence.

step

pyspark.sql.Column ou str, facultatif

La valeur à ajouter à l'élément actuel pour obtenir l'élément suivant dans la séquence. La valeur par default est 1 si start est inférieur ou égal à stop, sinon -1.

parameter

Type

Description

start

pyspark.sql.Column ou str

La valeur de départ (incluse) de la séquence.

stop

pyspark.sql.Column ou str

La dernière valeur (incluse) de la séquence.

step

pyspark.sql.Column ou str, facultatif

La valeur à ajouter à l'élément actuel pour obtenir l'élément suivant dans la séquence. La valeur par default est 1 si start est inférieur ou égal à stop, sinon -1.

Renvoie

pyspark.sql.Column: Une nouvelle colonne qui contient un tableau de valeurs de séquence.

Exemples

Exemple 1 : Génération d'une séquence avec une étape default.

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

Exemple 2 : Génération d'une séquence avec une étape personnalisée

Python
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()
Output
+---------------------------+
|sequence(start, stop, step)|
+---------------------------+
| [4, 2, 0, -2, -4]|
+---------------------------+

Exemple 3 : Génération d'une séquence avec une étape négative

Python
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()
Output
+---------------------------+
|sequence(start, stop, step)|
+---------------------------+
| [5, 4, 3, 2, 1]|
+---------------------------+