polars.LazyFrame.shift#

LazyFrame.shift(periods: int) Self[source]#

Shift the values by a given period.

Parameters:
periods

Number of places to shift (may be negative).

Examples

>>> lf = pl.LazyFrame(
...     {
...         "a": [1, 3, 5],
...         "b": [2, 4, 6],
...     }
... )
>>> lf.shift(periods=1).collect()
shape: (3, 2)
┌──────┬──────┐
│ a    ┆ b    │
│ ---  ┆ ---  │
│ i64  ┆ i64  │
╞══════╪══════╡
│ null ┆ null │
│ 1    ┆ 2    │
│ 3    ┆ 4    │
└──────┴──────┘
>>> lf.shift(periods=-1).collect()
shape: (3, 2)
┌──────┬──────┐
│ a    ┆ b    │
│ ---  ┆ ---  │
│ i64  ┆ i64  │
╞══════╪══════╡
│ 3    ┆ 4    │
│ 5    ┆ 6    │
│ null ┆ null │
└──────┴──────┘