Как я могу эффективно получить несколько срезов из большого набора данных?Python

Программы на Python
Ответить
Anonymous
 Как я могу эффективно получить несколько срезов из большого набора данных?

Сообщение Anonymous »

Я хочу получить несколько небольших срезов из большого набора данных временных рядов (~ 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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