Я хочу получить несколько небольших срезов из большого набора данных временных рядов (~ 25 ГБ, ~ 800 млн строк). На данный момент это выглядит примерно так:
Код: Выделить всё
from polars import pl
sample = pl.scan_csv(FILENAME, new_columns=["time", "force"]).slice(660_000_000, 3000).collect()
Этот код занимает около 0–5 минут, в зависимости от положения среза, который я хочу получить. Если мне нужно 5 фрагментов, на все прогон уйдет около 15 минут. Однако, поскольку Polars все равно читает весь CSV-файл, мне было интересно, есть ли способ получить все нужные мне фрагменты за один раз, поэтому Polars нужно прочитать CSV только один раз.
Объединение нескольких фрагментов (очевидно) не работает, может быть, есть какой-то другой способ?
Подробнее здесь:
https://stackoverflow.com/questions/772 ... ge-dataset