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
from pyspark.sql import functions as sf
sf.sequence(start, stop, step=None)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| O valor inicial (inclusive) da sequência. |
|
| O último valor (inclusive) da sequência. |
|
| 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
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]|
+---------------------+
Exemplo 2 : Gerando uma sequência com um passo 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]|
+---------------------------+
Exemplo 3 : Gerando uma sequência com um passo 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]|
+---------------------------+