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.
Individua la posizione della prima occorrenza del valore specificato nella matrice specificata. Restituisce Null se uno degli argomenti è Null. La posizione non è in base zero, ma 1 indice in base. Restituisce 0 se il valore specificato non è stato trovato nella matrice.
Sintassi
from pyspark.sql import functions as sf
sf.array_position(col, value)
Parametri
| Parametro | TIPO | Description |
|---|---|---|
col |
pyspark.sql.Column o str |
Colonna di destinazione su cui lavorare. |
value |
Qualunque | Valore o espressione Column da cercare. |
Restituzioni
pyspark.sql.Column: posizione del valore nella matrice specificata se trovato e 0 in caso contrario.
Esempi
Esempio 1: Ricerca della posizione di una stringa in una matrice di stringhe
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|
+-----------------------+
Esempio 2: Ricerca della posizione di una stringa in una matrice vuota
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|
+-----------------------+
Esempio 3: Ricerca della posizione di un numero intero in una matrice di numeri interi
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|
+-----------------------+
Esempio 4: Ricerca della posizione di un valore non esistente in una matrice
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|
+-----------------------+
Esempio 5: Ricerca della posizione di un valore in una matrice con valori 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|
+-----------------------+
Esempio 6: Ricerca della posizione del valore di una colonna in una matrice di numeri interi
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|
+-------------------------+