Сколько памяти используется NumPy ndarray? - PullRequest
20 голосов
/ 22 февраля 2012

Кто-нибудь знает, сколько памяти используется наглым ndarray? (скажем, 10 000 000 элементов с плавающей точкой).

1 Ответ

32 голосов
/ 22 февраля 2012

Массив просто сохраняется в одном последовательном блоке в памяти. Предполагая, что под «float» вы подразумеваете стандартные числа с плавающей запятой двойной точности, тогда массиву потребуется 8 байтов на элемент.

В общем, вы можете просто запросить атрибут nbytes об общей потребности памяти в массиве и itemsize о размере одного элемента в байтах:

>>> a = numpy.arange(1000.0)
>>> a.nbytes
8000
>>> a.itemsize
8

В дополнение к фактическим данным массива, также будет небольшая структура данных, содержащая метаинформацию в массиве. Особенно для больших массивов размер этой структуры данных незначителен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...