when(condition, value)
Описание
Функция when() возвращает значение, если условие истинно.
Параметры
condition: Column - условиеvalue: Column - значение, возвращаемое при истинном условии
Возвращаемое значение
Тип данных значения
Пример использования
from pyspark.sql.functions import when, lit
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("when_example").getOrCreate()
# Создаем DataFrame с данными
data = [(1,), (2,), (3,), (4,), (5,)]
df = spark.createDataFrame(data, ["number"])
# Классифицируем числа на четные и нечетные
result = df.select(
"number",
when(col("number") % 2 == 0, lit("even"))
.otherwise(lit("odd"))
.alias("type")
).show()
# Результат:
# +------+----+
# |number|type|
# +------+----+
# |1 |odd |
# |2 |even|
# |3 |odd |
# |4 |even|
# |5 |odd |
# +------+----+
Примечания
- Может использоваться в цепочке с
otherwise() - NULL значения обрабатываются как есть
- Для проверки условий используйте
if() - Для выбора значения из списка используйте
coalesce()