Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Inserta un elemento en una matriz determinada en un índice de matriz especificado. Los índices de matriz comienzan en 1 o comienzan desde el final si el índice es negativo. El tamaño de la matriz anterior anexa la matriz o antepone la matriz si el índice es negativo, con elementos "null".
Syntax
from pyspark.sql import functions as sf
sf.array_insert(arr, pos, value)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
arr |
pyspark.sql.Column o str |
Nombre de columna que contiene una matriz |
pos |
pyspark.sql.Column, str o int |
Nombre de la columna Tipo numérico que indica la posición de inserción (a partir del índice 1, la posición negativa es un inicio desde la parte posterior de la matriz) |
value |
Cualquiera | Un valor literal o una expresión Column. |
Devoluciones
pyspark.sql.Column: una matriz de valores, incluido el nuevo valor especificado.
Examples
Ejemplo 1: Inserción de un valor en una posición específica
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]|
+------------------------+
Ejemplo 2: Inserción de un valor en una posición 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]|
+-------------------------+
Ejemplo 3: Inserción de un valor en una posición mayor que el tamaño de la matriz
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]|
+------------------------+
Ejemplo 4: Inserción de un valor 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]|
+---------------------------+
Ejemplo 5: Inserción de un valor en una matriz 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|
+------------------------+