загрузить очень большой файл в память, разумеется сталкиваюсь с ошибкой, мои действия: понижаю типы столбцов, тем самым экономлю место, далее не влезает опять, окей, юзаю чанксайз, после чего пытаюсь пройтись циклом по каждому чанку и посчитать его размер, но почему то опять переполнение. Мой вопрос следующий: получается что мы тащим данные из датасета итерационно и не производим после этого очистку памяти? И что сделать чтобы этим можно было пользоваться?
Заранее спасибо всем.
пандас должен бы сам чистить свою память, это не ваша задача, как погромиста. Если что-то критически пошло не так, попробуйте сделатЬ import gc и внутри тела цикла gc.collect(). Посмотрите на значение, которое возвращает gc.collect() - если там что-то очень сильно отличное от 0, значит, чанки собираются.
Может для вашей задачи dask подойдёт?
Обсуждают сегодня