Назад к вопросам
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) для работы с большими данными.