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()
- сложные условия