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