Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将值插入numpy数组_Python_Arrays_Numpy - Fatal编程技术网

Python 将值插入numpy数组

Python 将值插入numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我是python和numpy新手,来自java背景 我想在数组中插入int值。 然而,我目前的做法并没有产生正确的价值观。 我创建了一个大小为5的数组“a”,并希望在“a”中插入int值 data = ocr['data'] test_data = ocr['testdata'] a = np.empty(5, dtype=np.int) for t in range(0,5): np.append(a,np.dot(np.subtract(test_data[t], data[0]),

我是python和numpy新手,来自java背景

我想在数组中插入int值。 然而,我目前的做法并没有产生正确的价值观。 我创建了一个大小为5的数组“a”,并希望在“a”中插入int值

data = ocr['data']
test_data = ocr['testdata']

a = np.empty(5, dtype=np.int)
for t in range(0,5):
   np.append(a,np.dot(np.subtract(test_data[t], data[0]), np.subtract(test_data[t], data[d])))

当您通过
np.empty()
初始化numpy数组时,它会为您分配足够的空间,但这些假定为空的单元格中的值将是随机垃圾。例如

>>> 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()
进行初始化,但在追加之前,您必须先用完所有初始化的单元格。i、 e

>>> 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])

是否试图在数组的中间插入值?一开始?或者将它们附加到末尾?将其附加到endNp。append只是np.concatenate的一种形式。它返回一个新数组。查看它的文档。我想你想要
a[I]=n.dot…
;即为
a
的每个预分配元素分配一个新值。