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

left / right

文字列の先頭・末尾から指定した文字数を取り出す。

SNOWPARK 静的検証のみ

left(col("code"), 3)
right(col("code"), 3)

POLARS 実行確認済み

pl.col("code").str.slice(0, 3)
pl.col("code").str.slice(-3)

挙動・設計の違い

Snowparkにはleft/rightという専用の関数があるが、Polarsには同名の専用メソッドが無く、substringのページで扱ったstr.sliceを使い分ける(開始位置0から3文字=先頭3文字、開始位置-3=末尾から3文字目以降を最後まで)。"ABCDEF"を実行して確認したところ、left(_, 3)"ABC"str.slice(0,3)"ABC"right(_, 3)"DEF"str.slice(-3)"DEF"で一致する。

移行時の落とし穴

rightに対応するstr.slice(-3)「末尾から3文字」を負のインデックスの開始位置だけで表現しており、substringのページで説明した1ベース/0ベースの違いに加えて、負の数を使う書き方に慣れていないと直感的に読みにくいstr.slice(-3)は「末尾から3文字目の位置から、指定が無ければ最後まで」という意味で、length引数を省略できる点もleft側(str.slice(0,3)length必須)との非対称性として押さえておく。

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

出典・検証情報

Polars 1.36.1 で実行確認 / Snowpark Python SDK 1.51.1 で静的検証(2026-08-30)