Sobes.tech
Назад к вопросам
Middle
7

Как уменьшить потребление памяти DataFrame в Pandas?

Компании, где спрашивали
FOM GROUP

Ответ от нейросети

sobes.tech AI

Чтобы уменьшить потребление памяти DataFrame в Pandas, можно:

  • Оптимизировать типы данных столбцов:

    • Преобразовать числовые столбцы в более экономичные типы (int8, float32 вместо int64, float64).
    • Использовать категориальные типы (category) для столбцов с повторяющимися строковыми значениями.
  • Удалять ненужные столбцы: Если какие-то данные не нужны, лучше их удалить.

  • Использовать downcast для числовых типов:

Пример:

import pandas as pd

df = pd.DataFrame({
    'int_col': [1, 2, 3, 4],
    'float_col': [1.0, 2.0, 3.0, 4.0],
    'cat_col': ['a', 'b', 'a', 'c']
})

# Преобразование типов

df['int_col'] = pd.to_numeric(df['int_col'], downcast='integer')
df['float_col'] = pd.to_numeric(df['float_col'], downcast='float')
df['cat_col'] = df['cat_col'].astype('category')
  • Читать данные порциями (chunking), если DataFrame очень большой.

  • Использовать специализированные библиотеки (например, Dask) для работы с большими данными.