Compartir vía


sequence

Genera una secuencia de enteros desde el inicio hasta el fin, incrementando por paso. Si no se establece el paso, la función se incrementa en 1 si start es menor o igual que stop; de lo contrario, disminuye en 1.

Syntax

from pyspark.sql import functions as sf

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

Parámetros

Parámetro Tipo Description
start pyspark.sql.Column o str Valor inicial (inclusivo) de la secuencia.
stop pyspark.sql.Column o str Último valor (inclusivo) de la secuencia.
step pyspark.sql.Column o str, opcional Valor que se va a agregar al elemento actual para obtener el siguiente elemento de la secuencia. El valor predeterminado es 1 si start es menor o igual que stop; de lo contrario, -1.

Devoluciones

pyspark.sql.Column: una nueva columna que contiene una matriz de valores de secuencia.

Examples

Ejemplo 1: Generación de una secuencia con el paso predeterminado

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

Ejemplo 2: Generación de una secuencia con un paso personalizado

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

Ejemplo 3: Generación de una secuencia con un paso negativo

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