Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vyhledá pozici prvního výskytu dané hodnoty v daném poli. Vrátí hodnotu null, pokud některý z argumentů má hodnotu null. Pozice není založená na nule, ale na indexu založeném na 1. Vrátí hodnotu 0, pokud se daná hodnota v matici nenašla.
Syntaxe
from pyspark.sql import functions as sf
sf.array_position(col, value)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo str |
Cílový sloupec, na který chcete pracovat. |
value |
Jakýkoliv | Hodnota nebo výraz sloupce, který chcete vyhledat. |
Návraty
pyspark.sql.Column: pozice hodnoty v dané matici, pokud je nalezena, a 0 jinak.
Examples
Příklad 1: Vyhledání pozice řetězce v poli řetězců
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|
+-----------------------+
Příklad 2: Vyhledání pozice řetězce v prázdném poli
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|
+-----------------------+
Příklad 3: Vyhledání pozice celého čísla v matici celých čísel
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|
+-----------------------+
Příklad 4: Vyhledání pozice neexistující hodnoty v matici
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|
+-----------------------+
Příklad 5: Vyhledání pozice hodnoty v poli s hodnotami 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|
+-----------------------+
Příklad 6: Vyhledání pozice hodnoty sloupce v matici celých čísel
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|
+-------------------------+