Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Elemet szúr be egy adott tömbbe egy adott tömbindexen. A tömbindexek 1-nél kezdődnek, vagy negatív index esetén a végétől indulnak. A tömbméret feletti index hozzáfűzi a tömböt, vagy ha az index negatív, "null" elemekkel elő van állítva.
Szemantika
from pyspark.sql import functions as sf
sf.array_insert(arr, pos, value)
Paraméterek
| Paraméter | Típus | Description |
|---|---|---|
arr |
pyspark.sql.Column vagy str |
Tömböt tartalmazó oszlop neve |
pos |
pyspark.sql.Column, str vagy int |
Numerikus típusú oszlop neve, amely a beszúrás helyét jelzi (az 1. indextől kezdve a negatív pozíció a tömb hátoldalától kezdődik) |
value |
Bármely | Literális érték vagy oszlopkifejezés. |
Visszatérítések
pyspark.sql.Column: értékek tömbje, beleértve az új megadott értéket
Példák
1. példa: Érték beszúrása egy adott pozícióba
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]|
+------------------------+
2. példa: Érték beszúrása negatív pozícióba
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]|
+-------------------------+
3. példa: Érték beszúrása a tömbméretnél nagyobb helyre
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]|
+------------------------+
4. példa: NULL érték beszúrása
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]|
+---------------------------+
5. példa: Érték beszúrása NULL tömbbe
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|
+------------------------+