elt(*inputs)
Описание
Функция elt()
возвращает n-й элемент из списка входных значений. Например, возвращает второй элемент, когда n равно 2.
Параметры
*inputs
: Column или значения - список значений, из которых нужно выбрать элемент
Возвращаемое значение
String - выбранный элемент из списка входных значений
Пример использования
from pyspark.sql.functions import elt
# Создаем DataFrame
df = spark.createDataFrame([
(1,),
(2,),
(3,),
(4,),
(5,),
(0,),
(-1,),
(None,)
], ["index"])
# Выбираем элементы из списка
df.select(
"index",
elt("index", "First", "Second", "Third", "Fourth").alias("selected")
).show()
# Результат:
# +-----+--------+
# |index|selected|
# +-----+--------+
# | 1| First| # Первый элемент
# | 2| Second| # Второй элемент
# | 3| Third| # Третий элемент
# | 4| Fourth| # Четвертый элемент
# | 5| null| # Индекс вне диапазона
# | 0| null| # Индекс 0
# | -1| null| # Отрицательный индекс
# | null| null| # NULL индекс
# +-----+--------+
# Пример с разными типами данных
df.select(
elt(2, 1, "two", 3.0, True).alias("mixed_types")
).show()
Примечания
- Индексация начинается с 1
- Если индекс меньше 1 или больше количества элементов, возвращается NULL
- Если индекс NULL, возвращается NULL
- Все входные значения приводятся к строковому типу
- Функция полезна для создания условных выражений или выбора значений из списка