Я работаю с большими наборами данных CSV (более 10 миллионов строк, ~400–1 ГБ) в облачных экземплярах с низким уровнем ресурсов (1–2 ГБ ОЗУ). Стандартный pandas.read_csv вызывает ошибку MemoryError, поскольку «налог на объекты» (обертывание каждого значения в объект Python) увеличивает использование памяти в 3–4 раза больше размера файла.
Даже использование chunksize не помогает с задержкой обработки, которая для базовых агрегаций составляет около 10–12 секунд.
Существуют проверенные способы обойти Python полностью накапливать кучу и обрабатывать необработанные данные CSV ближе к металлу, чтобы уменьшить нагрузку на ОЗУ?