Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sucht die Position des ersten Vorkommens des angegebenen Werts im angegebenen Array. Gibt NULL zurück, wenn eines der Argumente null ist. Die Position ist nicht nullbasiert, sondern 1 basierender Index. Gibt 0 zurück, wenn der angegebene Wert nicht im Array gefunden werden konnte.
Syntax
from pyspark.sql import functions as sf
sf.array_position(col, value)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column oder str |
Zielspalte, an der gearbeitet werden soll. |
value |
Beliebig | Wert oder ein Column-Ausdruck, nach dem gesucht werden soll. |
Rückkehr
pyspark.sql.Column: Position des Werts im angegebenen Array, falls gefunden und 0 andernfalls.
Examples
Beispiel 1: Suchen der Position einer Zeichenfolge in einem Array von Zeichenfolgen
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|
+-----------------------+
Beispiel 2: Suchen der Position einer Zeichenfolge in einem leeren Array
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|
+-----------------------+
Beispiel 3: Ermitteln der Position einer ganzen Zahl in einem Array ganzzahliger Zahlen
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|
+-----------------------+
Beispiel 4: Suchen der Position eines nicht vorhandenen Werts in einem Array
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|
+-----------------------+
Beispiel 5: Suchen der Position eines Werts in einem Array mit Nullen
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|
+-----------------------+
Beispiel 6: Ermitteln der Position des Werts einer Spalte in einem Array ganzzahliger Zahlen
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|
+-------------------------+