Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Evaluasi daftar kondisi dan kembalikan salah satu dari beberapa kemungkinan ekspresi hasil.
Sintaksis
when(condition, value)
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
condition |
kolom | Kondisi Boolean |
value |
value | Nilai yang akan dikembalikan jika kondisi benar |
Pengembalian Barang
kolom
Examples
Contoh 1: Menggunakan when() dengan kondisi dan nilai untuk membuat Kolom baru.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], ["age", "name"])
result = df.select(df.name, sf.when(df.age > 4, 1).when(df.age < 3, -1).otherwise(0))
result.show()
# +-----+------------------------------------------------------------+
# | name|CASE WHEN (age > 4) THEN 1 WHEN (age < 3) THEN -1 ELSE 0 END|
# +-----+------------------------------------------------------------+
# |Alice| -1|
# | Bob| 1|
# +-----+------------------------------------------------------------+
Contoh 2: Menautkan beberapa when() kondisi.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1, "Alice"), (4, "Bob"), (6, "Charlie")], ["age", "name"])
result = df.select(
df.name,
sf.when(df.age < 3, "Young").when(df.age < 5, "Middle-aged").otherwise("Old")
)
result.show()
# +-------+---------------------------------------------------------------------------+
# | name|CASE WHEN (age < 3) THEN Young WHEN (age < 5) THEN Middle-aged ELSE Old END|
# +-------+---------------------------------------------------------------------------+
# | Alice| Young|
# | Bob| Middle-aged|
# |Charlie| Old|
# +-------+---------------------------------------------------------------------------+
Contoh 3: Menggunakan nilai harfiah sebagai kondisi.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], ["age", "name"])
result = df.select(
df.name, sf.when(sf.lit(True), 1).otherwise(
sf.raise_error("unreachable")).alias("when"))
result.show()
# +-----+----+
# | name|when|
# +-----+----+
# |Alice| 1|
# | Bob| 1|
# +-----+----+