Polars Rolling Mean, заполните начало окна нулем вместо сокращенного окна.Python

Программы на Python
Anonymous
Polars Rolling Mean, заполните начало окна нулем вместо сокращенного окна.

Сообщение Anonymous »

Мой вопрос заключается в том, есть ли способ иметь значение null до тех пор, пока все окно не будет заполнено в начале скользящего окна в полярах. Например:

Код: Выделить всё

dates = [
"2020-01-01",
"2020-01-02",
"2020-01-03",
"2020-01-04",
"2020-01-05",
"2020-01-06",
"2020-01-01",
"2020-01-02",
"2020-01-03",
"2020-01-04",
"2020-01-05",
"2020-01-06",
]
df = pl.DataFrame({"dt": dates, "a": [3, 4, 2, 8, 10, 1, 1, 7, 5, 9, 2, 1], "b": ["Yes","Yes","Yes","Yes","Yes", "Yes", "No", "No", "No", "No", "No", "No"]}).with_columns(
pl.col("dt").str.strptime(pl.Date).set_sorted()
)
df = df.sort(by = 'dt')

df.rolling(
index_column="dt", period="2d", group_by = 'b'
).agg(pl.col("a").mean().alias("ma_2d"))
Результат

Код: Выделить всё

b   dt  ma_2d
str date    f64
"Yes"   2020-01-01  3.0
"Yes"   2020-01-02  3.5
"Yes"   2020-01-03  3.0
"Yes"   2020-01-04  5.0
"Yes"   2020-01-05  9.0
В этом случае я ожидаю, что первый день должен быть нулевым, поскольку для заполнения окна нет двух дней. Но поляры, похоже, просто сокращают окно, чтобы заполнить начальные дни.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ned-window

Вернуться в «Python»