0
如何将小numpy数组添加到大numpy数组的一部分? 我的代码是这样的:添加numpy数组
import numpy as np
x = np.ones((10, 15))
我想一个3×3 NP阵列添加到中间,或者我可以指定某个位置。
如何将小numpy数组添加到大numpy数组的一部分? 我的代码是这样的:添加numpy数组
import numpy as np
x = np.ones((10, 15))
我想一个3×3 NP阵列添加到中间,或者我可以指定某个位置。
如果通过添加意味着将3x3
矩阵的值分配到您的x
矩阵中,则可以将它分配给您的x
矩阵的切片。示例 -
x[row:row+3,col:col+3] = np.array([[1,2,3],[4,5,6],[7,8,9]]) #Your 3x3 array on right side.
演示 -
In [98]: x = np.ones((10,15))
In [99]: x[3:6,3:6] = np.array([[1,2,3],[4,5,6],[7,8,9]])
In [100]: x
Out[100]:
array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 1., 2., 3., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 4., 5., 6., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 7., 8., 9., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1.]])
如果加,你的意思是在相应的索引添加值,你可以在上面切割分配使用+=
。实施例 -
x[row:row+3,col:col+3] += np.array([[1,2,3],[4,5,6],[7,8,9]]) #Your 3x3 array on right side.
考查['slicing'](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#basic-slicing-and-indexing)。 – Divakar