Проблема в том, что сбор фрейма данных занимает больше времени, пока я работаю над ним. пакеты, но только для определенных наборов данных. Если оба столбца в кадре являются строками, сбор происходит достаточно быстро: первый сбор занимает ~0,02 секунды, а последующие сборы занимают около 1,5 секунды. Но если один столбец — i64, первый сбор выполняется примерно за 0,02 секунды, но последующие операции сбора занимают более 10 секунд, и использование оперативной памяти компьютера увеличивается. Предполагаемый размер различных пакетов данных примерно одинаков для всех наборов данных: 7–8 МБ.
Вот упрощенный код:
Код: Выделить всё
lf = pl.scan_parquet(file)
n_batch = 100_000
row = 0
while row < 500_000:
lf_batch = lf.slice(row, n_batch)
df_batch = lf_batch.collect()
row += n_batch
Подробнее здесь: https://stackoverflow.com/questions/785 ... in-batches