Skip to content

if(condition, value1, value2)

Описание

Функция if() возвращает value1, если условие истинно, и value2 в противном случае.

Параметры

  • condition: Column - условие
  • value1: Column - значение, возвращаемое при истинном условии
  • value2: Column - значение, возвращаемое при ложном условии

Возвращаемое значение

Column - значение в зависимости от условия

Пример использования

from pyspark.sql.functions import if, col, lit
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("if_example").getOrCreate()

# Создаем DataFrame с числами
data = [
    (10,),
    (20,),
    (30,),
    (40,),
    (50,)
]
df = spark.createDataFrame(data, ["number"])

# Применяем условное выражение
df = df.withColumn("category", 
    if(col("number") > 30, lit("Большое"), lit("Маленькое")))
df.show(truncate=False)

# Результат:
# +------+----------+
# |number|category  |
# +------+----------+
# |10    |Маленькое |
# |20    |Маленькое |
# |30    |Маленькое |
# |40    |Большое   |
# |50    |Большое   |
# +------+----------+

Примечания

  • Возвращает NULL, если условие NULL
  • Типы value1 и value2 должны быть совместимы
  • Полезно для:
  • Условной логики
  • Классификации данных
  • Фильтрации значений
  • Связанные функции:
  • when() - множественные условия
  • case_when() - сложные условия