pandas.DataFrame.memory_usage
- DataFrame.memory_usage(index=True, deep=False)[source]
-
Возвращает объём памяти, занимаемый каждым столбцом в байтах.
Объём памяти может необязательно включать вклад индекса и элементов типа object.
Это значение по умолчанию отображается в DataFrame.info. Его можно скрыть, установив
pandas.options.display.memory_usageв False.- Параметры:
-
- index:bool, по умолчанию True
-
Указывает, нужно ли включать объём памяти индекса DataFrame в возвращаемую серию. Если
index=True, объём памяти индекса — это первый элемент в выводе. - deep:bool, по умолчанию False
-
Если True, глубоко анализирует данные, запрашивая потребление памяти на уровне системы для типов object, и включает его в возвращаемые значения.
- Возвращаемое значение:
-
- Series
-
Серия, индекс которой — исходные имена столбцов, а значения — объём памяти каждого столбца в байтах.
См. также
numpy.ndarray.nbytes-
Общий объём байт, занимаемых элементами ndarray.
Series.memory_usage-
Объём байт, занимаемых серией.
Categorical-
Массив с высокой эффективностью использования памяти для строковых значений с множеством повторяющихся значений.
DataFrame.info-
Краткий сводный отчёт о DataFrame.
Примечания
См. Часто задаваемые вопросы для получения более подробной информации.
Примеры
>>> dtypes = ['int64', 'float64', 'complex128', 'object', 'bool'] >>> data = dict([(t, np.ones(shape=5000, dtype=int).astype(t)) ... for t in dtypes]) >>> df = pd.DataFrame(data) >>> df.head() int64 float64 complex128 object bool 0 1 1.0 1.0+0.0j 1 True 1 1 1.0 1.0+0.0j 1 True 2 1 1.0 1.0+0.0j 1 True 3 1 1.0 1.0+0.0j 1 True 4 1 1.0 1.0+0.0j 1 True
>>> df.memory_usage() Index 128 int64 40000 float64 40000 complex128 80000 object 40000 bool 5000 dtype: int64
>>> df.memory_usage(index=False) int64 40000 float64 40000 complex128 80000 object 40000 bool 5000 dtype: int64
Потребление памяти столбцами типа object по умолчанию игнорируется:
>>> df.memory_usage(deep=True) Index 128 int64 40000 float64 40000 complex128 80000 object 180000 bool 5000 dtype: int64
Используйте Categorical для эффективного хранения столбца типа object со многими повторяющимися значениями.
>>> df['object'].astype('category').memory_usage(deep=True) 5244
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.memory_usage.html