トップ / 式評価・文字列・型変換

when / otherwise

条件に応じて異なる値を返す(複数分岐の条件式)。

SNOWPARK 静的検証のみ

when(col("age") < 18, lit("minor")).when(col("age") < 65, lit("adult")).otherwise(lit("senior"))

POLARS 実行確認済み

pl.when(pl.col("age") < 18).then(pl.lit("minor")).when(pl.col("age") < 65).then(pl.lit("adult")).otherwise(pl.lit("senior"))

挙動・設計の違い

SnowparkはSQLのCASE WHEN ... THEN ... ELSE ... ENDに直結する。Polarsはwhen().then()をペアで繰り返しチェーンし、最後にotherwise()で結ぶ構造。3段階の分岐を両方で実行して確認したところ、同じ結果になる。

移行時の落とし穴

Polarsのwhen()は条件を渡すだけで、合致したときの値は必ず続けて.then()で指定する必要がある。Snowparkのwhen(condition, value)のように条件と値を1回の呼び出しにまとめる書き方はPolarsには無い。.then()を忘れると式が未完成のままになる。

式評価・文字列・型変換の他のメソッド

出典・検証情報

Polars 1.43.2 で実行確認 / Snowpark Python SDK 1.54.0 で静的検証(2026-08-24)