Spec-Zone.ru › pandas 1

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

Для эффективного хранения столбца типа object с множеством повторяющихся значений используйте Categorical.

>>> 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/1.5.0/reference/api/pandas.DataFrame.memory_usage.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API