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