Один из способов оценить размер CSV, который может потребоваться в ОЗУ при чтении как DF, без необходимости вручную вычислять размер каждого поля:
Pandas предоставить эту функцию: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.memory_usage.html
# Given a DF d: (example DF is arbitrary, something I had quickly available)
>>> d.shape
(182442, 2) (rows x cols)
>>> d.dtypes
sta float64
elev float64
>>> d.memory_usage()
Index 128
sta 1459536
elev 1459536
dtype: int64
Это даст вам информацию, которую вы можете использовать для быстрых вычислений
Если ваш CSV очень большой, вы можете создать небольшую репрезентативную выборку CSV data и считайте их в DF, используя, например: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html, а затем используйте результаты функции, как указано выше, чтобы иметь возможность получить оценку того, сколько оперативной памяти потребуется, если вы прочитать весь файл. Кроме того, убедитесь, что вы читаете CSV, используя те же параметры опции для операции чтения, которые вы будете использовать для реальной вещи
Доступны дополнительные данные в DF. См. Этот SO: получить список pandas столбцов фрейма данных на основе типа данных
Вооружившись этой информацией, вы можете спланировать эффективную стратегию обработки DF с помощью параметров chunks
итератора описано по ссылке выше.