Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gibt eine neue Arrayspalte zurück, indem die Eingabearrayspalte von einem Startindex aus bis zu einer spezifischen Länge geschnitten wird. Die Indizes beginnen bei 1 und können vom Ende des Arrays negativ sein. Die Länge gibt die Anzahl der Elemente im resultierenden Array an.
Syntax
from pyspark.sql import functions as sf
sf.slice(x, start, length)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
x |
pyspark.sql.Column oder str |
Eingabearray-Spalten- oder Spaltenname, der segmentiert werden soll. |
start |
pyspark.sql.Column, str oder int |
Der Startindex für den Datenschnittvorgang. Wenn negativ, beginnt der Index vom Ende des Arrays. |
length |
pyspark.sql.Column, str oder int |
Die Länge des Datenschnitts, der die Anzahl der Elemente im resultierenden Array darstellt. |
Rückkehr
pyspark.sql.Column: Ein neues Column-Objekt vom Arraytyp, wobei jeder Wert ein Segment der entsprechenden Liste aus der Eingabespalte ist.
Examples
Beispiel 1: Grundlegende Verwendung der Segmentfunktion.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],), ([4, 5],)], ['x'])
df.select(sf.slice(df.x, 2, 2)).show()
+--------------+
|slice(x, 2, 2)|
+--------------+
| [2, 3]|
| [5]|
+--------------+
Beispiel 2: Slicing mit negativem Startindex.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],), ([4, 5],)], ['x'])
df.select(sf.slice(df.x, -1, 1)).show()
+---------------+
|slice(x, -1, 1)|
+---------------+
| [3]|
| [5]|
+---------------+
Beispiel 3: Segmentfunktion mit Spalteneingaben für Start und Länge.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3], 2, 2), ([4, 5], 1, 3)], ['x', 'start', 'length'])
df.select(sf.slice(df.x, df.start, df.length)).show()
+-----------------------+
|slice(x, start, length)|
+-----------------------+
| [2, 3]|
| [4, 5]|
+-----------------------+