Partager via


sequence

Générez une séquence d’entiers de début à arrêt, incrémentant par étape. Si l’étape n’est pas définie, la fonction incrémente de 1 si le début est inférieur ou égal à l’arrêt, sinon il décrémente de 1.

Syntaxe

from pyspark.sql import functions as sf

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

Paramètres

Paramètre Type Descriptif
start pyspark.sql.Column ou str Valeur de départ (inclusive) de la séquence.
stop pyspark.sql.Column ou str Dernière valeur (inclusive) de la séquence.
step pyspark.sql.Column ou str, facultatif Valeur à ajouter à l’élément actuel pour obtenir l’élément suivant dans la séquence. La valeur par défaut est 1 si le démarrage est inférieur ou égal à arrêter, sinon -1.

Retours

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

Examples

Exemple 1 : Génération d’une séquence avec l’étape par défaut

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

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

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

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

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