Код: Выделить всё
date,value
2020-01-01,1
2020-01-02,4
2020-01-03,5
2020-01-04,9
2020-01-05,2
Я мог бы сделать:
Код: Выделить всё
train = duckdb.sql("""
select *, avg(value) over (order by date rows between 2 preceding and current row)
from read_csv(my_data.csv) qualify date < make_date(2020,1,4)
""").pl()
val = duckdb.sql("""
select *, avg(value) over (order by date rows between 2 preceding and current row)
from read_csv(my_data.csv) qualify date >= make_date(2020,1,4)
""").pl()
Есть ли способ материализовать два кадра данных одновременно без двойных вычислений? Или мне просто следует сделать
Код: Выделить всё
data = duckdb.sql('select *, avg(value) over (order by date rows between 2 preceding and current row) from read_csv(my_data.csv)').pl()
train = data.filter(pl.col('date') < date(2020, 1, 4))
val = data.filter(pl.col('date') >= date(2020, 1, 4))
Подробнее здесь: https://stackoverflow.com/questions/790 ... dataframes
Мобильная версия