При инициализации Numpy массив по np.empty()
, он выделяет достаточно места для вас, но значения внутри этих якобы пустых ячеек будет случайным мусором. Например.
>>> a = np.empty(5,dtype = int)
>>> a
array([-2305843009213693952, -2305843009213693952, 4336320554,
0, 0])
>>> k = np.empty(5,dtype = int)
>>> k
array([-2305843009213693952, -2305843009213693952, 4336320556,
4294967297, 140215654037360])
Следовательно, у вас есть два варианта: инициализировать пустой массив длиной 0, затем добавить. Примечание: в качестве @hpaulj указал, что вам нужно, чтобы установить некоторый массив равным массива, возвращаемого np.append()
т.е.
>>> a = np.array([],dtype = int)
>>> a = np.append(a,2)
>>> a = np.append(a,1)
>>> a = np.append(a,3)
>>> a = np.append(a,5)
>>> a
array([2, 1, 3, 5])
Или вы можете инициализировать с помощью np.empty()
, но тогда вы должны использовать все ячейки, которые инициализированы сначала перед добавлением. то есть
>>> a = np.empty(3,dtype = np.int)
>>> a[0] = 2
>>> a[1] = 1
>>> a[2] = 5
>>> a = np.append(a,3)
>>> a
array([2, 1, 5, 3])
Вы пытаетесь вставить значения в середину массива? В начале? Или добавить их до конца? – freddiev4
добавьте его до конца – user
Np.append - это просто форма np.concatenate. Он возвращает новый массив. Просмотрите свои документы. – hpaulj