Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fügt ein Element in ein bestimmtes Array bei einem angegebenen Arrayindex ein. Arrayindizes beginnen bei 1 oder beginnen am Ende, wenn index negativ ist. Index oberhalb der Arraygröße fügt das Array an oder stellt das Array vor, wenn Index negativ ist, mit "null"-Elementen.
Syntax
from pyspark.sql import functions as sf
sf.array_insert(arr, pos, value)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
arr |
pyspark.sql.Column oder str |
Name der Spalte, die ein Array enthält |
pos |
pyspark.sql.Column, str oder int |
Name der Spalte vom numerischen Typ, die die Einfügeposition angibt (beginnend bei Index 1, negative Position ist ein Anfang von der Rückseite des Arrays) |
value |
Beliebig | Ein Literalwert oder ein Column-Ausdruck. |
Rückkehr
pyspark.sql.Column: ein Array von Werten, einschließlich des neuen angegebenen Werts
Examples
Beispiel 1: Einfügen eines Werts an einer bestimmten Position
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, 2, 'd')).show()
+------------------------+
|array_insert(data, 2, d)|
+------------------------+
| [a, d, b, c]|
+------------------------+
Beispiel 2: Einfügen eines Werts an einer negativen Position
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, -2, 'd')).show()
+-------------------------+
|array_insert(data, -2, d)|
+-------------------------+
| [a, b, d, c]|
+-------------------------+
Beispiel 3: Einfügen eines Werts an einer Position größer als die Arraygröße
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, 5, 'e')).show()
+------------------------+
|array_insert(data, 5, e)|
+------------------------+
| [a, b, c, NULL, e]|
+------------------------+
Beispiel 4: Einfügen eines NULL-Werts
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, 2, sf.lit(None))).show()
+---------------------------+
|array_insert(data, 2, NULL)|
+---------------------------+
| [a, NULL, b, c]|
+---------------------------+
Beispiel 5: Einfügen eines Werts in ein NULL-Array
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, IntegerType, StructType, StructField
schema = StructType([StructField("data", ArrayType(IntegerType()), True)])
df = spark.createDataFrame([(None,)], schema=schema)
df.select(sf.array_insert(df.data, 1, 5)).show()
+------------------------+
|array_insert(data, 1, 5)|
+------------------------+
| NULL|
+------------------------+