Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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|
+------------------------+