Код: Выделить всё
from datetime import date
import polars as pl
df = pl.DataFrame({"Day":[date(2022, 1, i) for i in range(1,10)], "value":[1,2,3,4,5,6,7,8,9]})
Код: Выделить всё
shape: (9, 2)
┌────────────┬───────┐
│ Day ┆ value │
│ --- ┆ --- │
│ date ┆ i64 │
╞════════════╪═══════╡
│ 2022-01-01 ┆ 1 │
│ 2022-01-02 ┆ 2 │
│ 2022-01-03 ┆ 3 │
│ 2022-01-04 ┆ 4 │
│ 2022-01-05 ┆ 5 │
│ 2022-01-06 ┆ 6 │
│ 2022-01-07 ┆ 7 │
│ 2022-01-08 ┆ 8 │
│ 2022-01-09 ┆ 9 │
└────────────┴───────┘
Код: Выделить всё
|--|
|-----|
|--------|
Код: Выделить всё
date_range = pl.date_range(df.select("Day").min().row(0)[0], df.select("Day").max().row(0)[0], '1w', eager=True)
for timestamp in date_range:
print(df.filter(pl.col('Day').is_between(date_range[0], timestamp)))
Код: Выделить всё
shape: (1, 2)
┌────────────┬───────┐
│ Day ┆ value │
│ --- ┆ --- │
│ date ┆ i64 │
╞════════════╪═══════╡
│ 2022-01-01 ┆ 1 │
└────────────┴───────┘
shape: (8, 2)
┌────────────┬───────┐
│ Day ┆ value │
│ --- ┆ --- │
│ date ┆ i64 │
╞════════════╪═══════╡
│ 2022-01-01 ┆ 1 │
│ 2022-01-02 ┆ 2 │
│ 2022-01-03 ┆ 3 │
│ 2022-01-04 ┆ 4 │
│ 2022-01-05 ┆ 5 │
│ 2022-01-06 ┆ 6 │
│ 2022-01-07 ┆ 7 │
│ 2022-01-08 ┆ 8 │
└────────────┴───────┘
Подробнее здесь: https://stackoverflow.com/questions/747 ... w-group-by