Кто-нибудь знает, сколько памяти используется numpy ndarray? (скажем, 10 000 000 элементов с плавающей точкой).Сколько памяти используется numpy ndarray?
20
A
ответ
31
Массив просто хранится в одном последовательном блоке памяти. Предполагая, что «float» означает стандартные числа с плавающей запятой двойной точности, тогда для массива потребуется 8 байтов на элемент.
В общем, вы можете просто запросить атрибут nbytes
для общей потребности в памяти массива и itemsize
для размера одного элемента в байтах:
>>> a = numpy.arange(1000.0)
>>> a.nbytes
8000
>>> a.itemsize
8
В addtion с фактическими данными массива, также будет небольшая структура данных, содержащая метаинформацию в массиве. Для больших массивов размер этой структуры данных ничтожно мал.
Спасибо, особенно за два свойства. –