У меня есть следующий код в полярах:
Код: Выделить всё
import datetime
import polars as pl
df = pl.DataFrame(
{
"id": [1, 2, 1, 2, 1, 2, 3],
"date": [
datetime.date(2022, 1, 1),
datetime.date(2022, 1, 1),
datetime.date(2022, 1, 11),
datetime.date(2022, 1, 11),
datetime.date(2022, 2, 1),
datetime.date(2022, 2, 1),
datetime.date(2022, 2, 1),
],
"value": [1, 2, 3, None, 5, 6, None],
}
)
(df.group_by_dynamic("date", group_by="id", every="1mo", period="1mo", closed="both")
.agg(
pl.int_range(1, pl.len() + 1)
- pl.int_range(1, pl.len() + 1).filter(pl.col("value").is_not_null()).mean(),
)
)
Код: Выделить всё
pyo3_runtime.PanicException: index out of bounds: the len is 1 but the index is 1
Чтобы быть более конкретным, мне нужен следующий результат:
Код: Выделить всё
shape: (5, 3)
┌─────┬────────────┬──────────────────┐
│ id ┆ date ┆ arange │
│ --- ┆ --- ┆ --- │
│ i64 ┆ date ┆ list[f64] │
╞═════╪════════════╪══════════════════╡
│ 1 ┆ 2022-01-01 ┆ [-1.0, 0.0, 1.0] │
│ 1 ┆ 2022-02-01 ┆ [0.0] │
│ 2 ┆ 2022-01-01 ┆ [-1.0, 2.0, 1.0] │
│ 2 ┆ 2022-02-01 ┆ [0.0] │
│ 3 ┆ 2022-02-01 ┆ [null] │
└─────┴────────────┴──────────────────┘
Подробнее здесь: https://stackoverflow.com/questions/754 ... -dataframe