Код: Выделить всё
import polars as pl
df = pl.LazyFrame({"day": [1,2,4,5,2,3,5,6], 'type': ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'], "value": [1, 0, 3, 4, 2, 2, 0, 1]})
Код: Выделить всё
shape: (8, 3)
┌─────┬──────┬───────┐
│ day ┆ type ┆ value │
│ --- ┆ --- ┆ --- │
│ i64 ┆ str ┆ i64 │
╞═════╪══════╪═══════╡
│ 1 ┆ a ┆ 1 │
│ 2 ┆ a ┆ 0 │
│ 4 ┆ a ┆ 3 │
│ 5 ┆ a ┆ 4 │
│ 2 ┆ b ┆ 2 │
│ 3 ┆ b ┆ 2 │
│ 5 ┆ b ┆ 0 │
│ 6 ┆ b ┆ 1 │
└─────┴──────┴───────┘
Код: Выделить всё
shape: (8, 4)
┌─────┬──────┬───────┬─────────────┐
│ day ┆ type ┆ value ┆ rolling_sum │
│ --- ┆ --- ┆ --- ┆ --- │
│ i64 ┆ str ┆ i64 ┆ i64 │
╞═════╪══════╪═══════╪═════════════╡
│ 1 ┆ a ┆ 1 ┆ 1 │
│ 2 ┆ a ┆ 0 ┆ 1 │
│ 4 ┆ a ┆ 3 ┆ 3 │
│ 5 ┆ a ┆ 4 ┆ 7 │
│ 2 ┆ b ┆ 2 ┆ 2 │
│ 3 ┆ b ┆ 2 ┆ 4 │
│ 5 ┆ b ┆ 0 ┆ 0 │
│ 6 ┆ b ┆ 1 ┆ 1 │
└─────┴──────┴───────┴─────────────┘
Код: Выделить всё
df = df.with_columns(pl.col("value")
.rolling(index_column="day", by="type", period="2i")
.sum().alias("rolling_sum"))
Не могли бы вы помочь мне это исправить?>
Подробнее здесь: https://stackoverflow.com/questions/782 ... ot-allowed
Мобильная версия