Если вы добавляете, вы имеете в виду присвоение значений из матрицы 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.
Demo -
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