I am new to Numpy and want to replace part of a matrix. For example, I have two matrices, A, B generated by numpy
In [333]: A = ones((5,5))
In [334]: A
Out[334]:
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.]])
In [335]: B
Out[335]:
array([[ 0.1, 0.2],
[ 0.3, 0.4]])
Eventually, I want to make A be the following matrix.
In [336]: A
Out[336]:
array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 0.1, 0.2],
[ 1., 1., 1., 0.3, 0.4]])
and/or the following
In [336]: A
Out[336]:
array([[ 1., 1., 1., 0.1, 0.2],
[ 1., 1., 1., 0.3, 0.4],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]])
I tried like following but it didn't work. I don't have any idea now :(
A[[0,1],:][:,[3,4]] = B
or even I tried like
A[[0,1],:][:,[3,4]] = 1
to check whether the four cell are changed or not. Do you have any idea?
See Question&Answers more detail:
os