Sobes.tech
Middle
15

Как не убить Jupyter или Pandas по памяти?

Companies where asked
FOM GROUP

Answer from AI

sobes.tech AI

Чтобы не убить Jupyter Notebook или Pandas по памяти, нужно контролировать объем данных и оптимизировать работу с ними:

  • Работайте с выборками данных, а не с полными наборами, если это возможно. Используйте фильтры или загружайте данные частями.
  • Используйте типы данных с меньшим потреблением памяти, например category для строковых колонок в Pandas.
  • Удаляйте ненужные объекты из памяти с помощью del и вызывайте gc.collect() для сборки мусора.
  • Используйте генераторы и итераторы вместо загрузки всего в память.
  • Периодически перезапускайте ядро Jupyter, чтобы очистить накопленную память.
  • Используйте специализированные библиотеки для работы с большими данными, например Dask или Vaex, которые обрабатывают данные лениво и по частям.

Пример оптимизации типов в Pandas:

import pandas as pd

df = pd.read_csv('large_file.csv')
df['category_column'] = df['category_column'].astype('category')

Так можно значительно снизить потребление памяти.

Также полезно мониторить использование памяти с помощью %memit из memory_profiler или встроенных инструментов Jupyter.