Sobes.tech
Middle
26

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

Сұралған компаниялар
FOM GROUP

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.