Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Lokalizuje położenie pierwszego wystąpienia danej wartości w danej tablicy. Zwraca wartość null, jeśli jeden z argumentów ma wartość null. Pozycja nie jest oparta na zera, ale na podstawie 1 indeksu. Zwraca wartość 0, jeśli nie można odnaleźć danej wartości w tablicy.
Składnia
from pyspark.sql import functions as sf
sf.array_position(col, value)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column lub str |
Kolumna docelowa do pracy. |
value |
Jakikolwiek | Wartość lub wyrażenie kolumny do wyszukania. |
Zwraca
pyspark.sql.Column: pozycja wartości w podanej tablicy, jeśli zostanie znaleziona i 0 w przeciwnym razie.
Przykłady
Przykład 1: znajdowanie pozycji ciągu w tablicy ciągów
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|
+-----------------------+
Przykład 2. Znajdowanie pozycji ciągu w pustej tablicy
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|
+-----------------------+
Przykład 3. Znajdowanie pozycji liczby całkowitej w tablicy liczb całkowitych
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|
+-----------------------+
Przykład 4. Znajdowanie pozycji nieistnienej wartości w tablicy
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|
+-----------------------+
Przykład 5. Znajdowanie pozycji wartości w tablicy z wartościami 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|
+-----------------------+
Przykład 6. Znajdowanie pozycji wartości kolumny w tablicy liczb całkowitych
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|
+-------------------------+