array_position

array_position(col, value)
array_position - функция поиска позиции элемента в массиве
Параметры
col: Column or str. столбец содержащий массив
value: значение для поиска
Возвращает
Column позиция элемента в массиве (начиная с 1) если найдено, и 0 в противном случае.

array_position example


from pyspark.sql import SparkSession
from pyspark.sql.functions import array, array_position

# Создание сессии Spark
spark = SparkSession.builder.appName("array_position_example").getOrCreate()

# Пример данных
data = [([1, 2, 3],), ([4, 5, 6, 7,1],), ([4, None, None, None],), ([],), ([None]),]
df = spark.createDataFrame(data, ["values"])
# Поиск значения в  массиве
df_with_array_size = df.withColumn("array_position", array_position("values", 1))

# Отображение результата
df_with_array_size.show(truncate=False)

+---------------------+--------------+
|values               |array_position|
+---------------------+--------------+
|[1, 2, 3]            |1             |
|[4, 5, 6, 7, 1]      |5             |
|[4, NULL, NULL, NULL]|0             |
|[]                   |0             |
|NULL                 |NULL          |
+---------------------+--------------+

pyspark array_position

Добавлено в версии2.4.0.
Обновлено в версии3.4.0.