Title here
Summary here
array_position(col, value)
array_position
- функция поиска позиции элемента в массивеcol
: Column or str. столбец содержащий массивvalue
: значение для поискаColumn
позиция элемента в массиве (начиная с 1) если найдено, и 0 в противном случае.
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. |