Pular para o conteúdo principal

sequência

Gere uma sequência de números inteiros de começar a parar, incrementando em o passo. Se o passo não for definido, a função incrementa em 1 se começar for menor ou igual a parar; caso contrário, decrementa em 1.

Sintaxe

Python
from pyspark.sql import functions as sf

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

Parâmetros

Parâmetro

Tipo

Descrição

start

pyspark.sql.Column ou str

O valor inicial (inclusive) da sequência.

stop

pyspark.sql.Column ou str

O último valor (inclusive) da sequência.

step

pyspark.sql.Column ou str, opcional

O valor a ser adicionado ao elemento atual para obter o próximo elemento da sequência. O default é 1 se começar for menor ou igual a parar, caso contrário, -1.

Devoluções

pyspark.sql.ColumnUma nova coluna que contém uma matriz de valores sequenciais.

Exemplos

Exemplo 1 : Gerando uma sequência com o passo 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]|
+---------------------+

Exemplo 2 : Gerando uma sequência com um passo personalizado

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

Exemplo 3 : Gerando uma sequência com um passo negativo

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