Freigeben über


sequence

Generieren Sie eine Sequenz von ganzzahligen Zahlen von Anfang bis Ende, inkrementiert nach Schritt. Wenn schritt nicht festgelegt ist, erhöht sich die Funktion um 1, wenn der Anfang kleiner oder gleich dem Beenden ist, andernfalls wird sie um 1 erhöht.

Syntax

from pyspark.sql import functions as sf

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

Die Parameter

Parameter Typ Description
start pyspark.sql.Column oder str Der Anfangswert (einschließlich) der Sequenz.
stop pyspark.sql.Column oder str Der letzte Wert (einschließlich) der Sequenz.
step pyspark.sql.Column oder str, optional Der Wert, der dem aktuellen Element hinzugefügt werden soll, um das nächste Element in der Sequenz abzurufen. Der Standardwert ist 1, wenn der Start kleiner oder gleich dem Beenden ist, andernfalls -1.

Rückkehr

pyspark.sql.Column: Eine neue Spalte, die ein Array von Sequenzwerten enthält.

Examples

Beispiel 1: Generieren einer Sequenz mit Standardschritt

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

Beispiel 2: Generieren einer Sequenz mit einem benutzerdefinierten Schritt

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

Beispiel 3: Generieren einer Sequenz mit einem negativen Schritt

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