Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vloží položku do daného pole v zadaném indexu pole. Maticové indexy začínají na 1 nebo začínají od konce, pokud je index záporný. Index nad velikostí pole připojí matici nebo předpendá pole, pokud je index záporný, s elementy null.
Syntaxe
from pyspark.sql import functions as sf
sf.array_insert(arr, pos, value)
Parametry
| Parameter | Typ | Description |
|---|---|---|
arr |
pyspark.sql.Column nebo str |
Název sloupce obsahujícího pole |
pos |
pyspark.sql.Column, str nebo int |
Název sloupce číselného typu označující pozici vložení (počínaje indexem 1, záporná pozice je začátek od zadní části pole). |
value |
Jakýkoliv | Hodnota literálu nebo výraz column |
Návraty
pyspark.sql.Column: matice hodnot, včetně nové zadané hodnoty
Examples
Příklad 1: Vložení hodnoty na konkrétní pozici
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]|
+------------------------+
Příklad 2: Vložení hodnoty na záporné pozici
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]|
+-------------------------+
Příklad 3: Vložení hodnoty na pozici větší než velikost pole
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]|
+------------------------+
Příklad 4: Vložení hodnoty NULL
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]|
+---------------------------+
Příklad 5: Vložení hodnoty do pole NULL
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|
+------------------------+