Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Inserisce un elemento in una determinata matrice in corrispondenza di un indice di matrice specificato. Gli indici di matrice iniziano da 1 o iniziano dalla fine se l'indice è negativo. L'indice sopra la dimensione della matrice aggiunge la matrice o antepone la matrice se index è negativo, con elementi 'null'.
Sintassi
from pyspark.sql import functions as sf
sf.array_insert(arr, pos, value)
Parametri
| Parametro | TIPO | Description |
|---|---|---|
arr |
pyspark.sql.Column o str |
Nome della colonna contenente una matrice |
pos |
pyspark.sql.Column, stringa o intero |
Nome della colonna Tipo numerico che indica la posizione di inserimento (a partire dall'indice 1, la posizione negativa è un inizio dalla parte posteriore della matrice) |
value |
Qualunque | Valore letterale o espressione Column. |
Restituzioni
pyspark.sql.Column: matrice di valori, incluso il nuovo valore specificato
Esempi
Esempio 1: Inserimento di un valore in una posizione specifica
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]|
+------------------------+
Esempio 2: Inserimento di un valore in una posizione negativa
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]|
+-------------------------+
Esempio 3: Inserimento di un valore in una posizione maggiore delle dimensioni della matrice
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]|
+------------------------+
Esempio 4: Inserimento di un valore 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]|
+---------------------------+
Esempio 5: Inserimento di un valore in una matrice 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|
+------------------------+