Я подумал, что внесу еще несколько данных в обсуждение.
Я провел серию тестов по этому вопросу.
Используя resource
пакет python , я получил использование памяти моим процессом.
И, записав csv в StringIO
буфер, я мог легко измерить его размер в байтах.
Я провел два эксперимента, в каждом из которых было создано 20 фреймов данных увеличивающегося размера от 10 000 до 1 000 000 строк. У обоих по 10 столбцов.
В первом эксперименте я использовал в своем наборе данных только числа с плавающей запятой.
Таким образом объем памяти увеличился по сравнению с файлом CSV в зависимости от количества строк. (Размер в мегабайтах)
Во втором эксперименте у меня был тот же подход, но данные в наборе данных состояли только из коротких строк.
Кажется, что соотношение размера csv и размера фрейма данных может сильно различаться, но размер в памяти всегда будет больше в 2-3 раза (для размеров фрейма в этом эксперименте)
Я хотел бы дополнить этот ответ дополнительными экспериментами, прокомментируйте, если вы хотите, чтобы я попробовал что-то особенное.
top
затемShift + M
отсортировать использование моей памяти.