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.
Busca la posición de la primera aparición del valor especificado en la matriz especificada. Devuelve NULL si alguno de los argumentos es NULL. La posición no está basada en cero, sino en un índice basado en 1. Devuelve 0 si no se encontró el valor especificado en la matriz.
Syntax
from pyspark.sql import functions as sf
sf.array_position(col, value)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column o str |
Columna de destino en la que trabajar. |
value |
Cualquiera | Valor o expresión column que se va a buscar. |
Devoluciones
pyspark.sql.Column: posición del valor de la matriz especificada si se encuentra y 0 de lo contrario.
Examples
Ejemplo 1: Buscar la posición de una cadena en una matriz de cadenas
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["c", "b", "a"],)], ['data'])
df.select(sf.array_position(df.data, "a")).show()
+-----------------------+
|array_position(data, a)|
+-----------------------+
| 3|
+-----------------------+
Ejemplo 2: Búsqueda de la posición de una cadena en una matriz vacía
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, StringType, StructField, StructType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([([],)], schema=schema)
df.select(sf.array_position(df.data, "a")).show()
+-----------------------+
|array_position(data, a)|
+-----------------------+
| 0|
+-----------------------+
Ejemplo 3: Búsqueda de la posición de un entero en una matriz de enteros
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],)], ['data'])
df.select(sf.array_position(df.data, 2)).show()
+-----------------------+
|array_position(data, 2)|
+-----------------------+
| 2|
+-----------------------+
Ejemplo 4: Buscar la posición de un valor no existente en una matriz
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["c", "b", "a"],)], ['data'])
df.select(sf.array_position(df.data, "d")).show()
+-----------------------+
|array_position(data, d)|
+-----------------------+
| 0|
+-----------------------+
Ejemplo 5: Búsqueda de la posición de un valor en una matriz con valores NULL
from pyspark.sql import functions as sf
df = spark.createDataFrame([([None, "b", "a"],)], ['data'])
df.select(sf.array_position(df.data, "a")).show()
+-----------------------+
|array_position(data, a)|
+-----------------------+
| 3|
+-----------------------+
Ejemplo 6: Buscar la posición del valor de una columna en una matriz de enteros
from pyspark.sql import functions as sf
df = spark.createDataFrame([([10, 20, 30], 20)], ['data', 'col'])
df.select(sf.array_position(df.data, df.col)).show()
+-------------------------+
|array_position(data, col)|
+-------------------------+
| 2|
+-------------------------+