python - 将值插入 numpy 数组

标签 python arrays numpy

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

我想将 int 值插入到数组中。 然而,我目前的做法并没有产生正确的值(value)。 我创建了一个大小为 5 的数组“a”,并想将 int 值插入到“a”中。

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

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

关于python - 将值插入 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39553837/

相关文章:

python - 在条形图中绘制列表列表的两个 y 轴

python - Python 线程定时器如何在内部工作?

python - Pipenv 没有设置 PYTHONPATH

javascript - 如果填写字段=数组则为JAVASCRIPT

arrays - 迭代时更改值

arrays - 使用 Bash,是否可以将数组存储在字典中

python - cosd 和 sind 与 sympy

python - 在 BeautifulSoup 中替换文本而不转义

python - 如何将我的网站 "Contact Me"表单发送到我的 Gmail?

python - 如何同时使用窗口大小裁剪 numpy 数组的每个元素而不循环遍历每个像素?