Атрибут nbytes класса ndarray
Атрибут nbytes возвращает общий объем памяти в байтах, занимаемый элементами массива. Атрибут доступен только для чтения. Значение вычисляется как произведение атрибутов size и itemsize. Не включает служебную информацию, такую как описание типа данных или метаданные объекта массива.
Синтаксис
arr.nbytes
Пример
Получим размер одномерного массива в байтах:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
size_bytes = arr.nbytes
print("Size in bytes:", size_bytes)
print("Itemsize:", arr.itemsize)
print("Size:", arr.size)
Результат выполнения кода:
Size in bytes: 40
Itemsize: 8
Size: 5
Пример
Сравним размер массивов с разными типами данных:
import numpy as np
arr_int64 = np.array([1, 2, 3, 4, 5], dtype=np.int64)
arr_float64 = np.array([1, 2, 3, 4, 5], dtype=np.float64)
arr_uint8 = np.array([1, 2, 3, 4, 5], dtype=np.uint8)
print("int64 nbytes:", arr_int64.nbytes)
print("float64 nbytes:", arr_float64.nbytes)
print("uint8 nbytes:", arr_uint8.nbytes)
Результат выполнения кода:
int64 nbytes: 40
float64 nbytes: 40
uint8 nbytes: 5
Пример
Размер двумерного массива в байтах:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print("Shape:", arr.shape)
print("Size:", arr.size)
print("Itemsize:", arr.itemsize)
print("nbytes:", arr.nbytes)
Результат выполнения кода:
Shape: (2, 3)
Size: 6
Itemsize: 8
nbytes: 48
Пример
Проверка зависимости размера от количества элементов:
import numpy as np
for n in [10, 100, 1000]:
arr = np.arange(n, dtype=np.float64)
print(f"n={n}, nbytes={arr.nbytes}")
Результат выполнения кода:
n=10, nbytes=80
n=100, nbytes=800
n=1000, nbytes=8000