pandas.DataFrame.memory_usage#

DataFrame.memory_usage(index=True, глубокий=False)[источник]#

Возвращает использование памяти каждого столбца в байтах.

Использование памяти может дополнительно включать вклад индекса и элементов object тип данных.

Это значение отображается в DataFrame.info по умолчанию. Это можно отключить, установив pandas.options.display.memory_usage в False.

Параметры:
indexbool, по умолчанию True

Указывает, включать ли использование памяти индекса DataFrame в возвращаемый Series. Если index=True, использование памяти индексом является первым элементом в выводе.

глубокийbool, по умолчанию False

Если True, глубоко анализировать данные путем опроса object типы данных для потребления памяти на системном уровне и включают их в возвращаемые значения.

Возвращает:
Series

Series, чей индекс - исходные имена столбцов, а значения - использование памяти каждого столбца в байтах.

Смотрите также

numpy.ndarray.nbytes

Общее количество байт, потребляемых элементами ndarray.

Series.memory_usage

Байты, потребляемые Series.

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 столбцы типа dtype игнорируются по умолчанию:

>>> 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