Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Localiza a posição da primeira ocorrência do valor fornecido na matriz fornecida. Retornará nulo se qualquer um dos argumentos for nulo. A posição não é baseada em zero, mas no índice baseado em 1. Retornará 0 se o valor fornecido não puder ser encontrado na matriz.
Sintaxe
from pyspark.sql import functions as sf
sf.array_position(col, value)
Parâmetros
| Parâmetro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column ou str |
Coluna de destino na qual trabalhar. |
value |
Qualquer | Valor ou uma expressão Column a ser pesquisada. |
Devoluções
pyspark.sql.Column: posição do valor na matriz determinada, se encontrado e 0 de outra forma.
Exemplos
Exemplo 1: Localizando a posição de uma cadeia de caracteres em uma matriz de cadeias de caracteres
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|
+-----------------------+
Exemplo 2: Localizando a posição de uma cadeia de caracteres em uma matriz vazia
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|
+-----------------------+
Exemplo 3: Localizando a posição de um inteiro em uma matriz de inteiros
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|
+-----------------------+
Exemplo 4: Localizando a posição de um valor não existente em uma 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|
+-----------------------+
Exemplo 5: Localizando a posição de um valor em uma matriz com nulos
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|
+-----------------------+
Exemplo 6: Localizando a posição do valor de uma coluna em uma matriz de inteiros
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|
+-------------------------+