Этот вопрос относится к одному из приведенных здесь: nbytes и getsizeof возвращает разные значения
Я протестировал одинаковое количество данных в массиве numpy и получил разные (по размеру) getsizeof
значения, когда я меняю форму. Ниже вы найдете код, который я тестировал.
from sys import getsizeof
import numpy as np
test_array = np.asarray(np.arange(1000000.0)).reshape(1000, 1000)
print("Real size of test array is {:,.0f}".format(getsizeof(test_array)))
print("NP size of test array is {:,.0f}".format(test_array.nbytes))
Результат:
Real size of test array is 112
NP size of test array is 8,000,000
Без изменения формы
from sys import getsizeof
import numpy as np
test_array = np.asarray(np.arange(1000000.0))
print("Real size of test array is {:,.0f}".format(getsizeof(test_array)))
print("NP size of test array is {:,.0f}".format(test_array.nbytes))
Я получаю:
Real size of test array is 8,000,096
NP size of test array is 8,000,000