Подтвердить что ты не робот

Сколько памяти используется numpy ndarray?

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

4b9b3361

Ответ 1

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

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

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

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