Skip to content

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()