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?
divide() in Python. numpy. divide(arr1, arr2, out = None, where = True, casting = 'same_kind', order = 'K', dtype = None) : Array element from first array is divided by elements from second element (all happens element-wise).
copy() With the help of Numpy matrix. copy() method, we can make a copy of all the data elements that is present in matrix. If we change any data element in the copy, it will not affect the original matrix.
To remove an element from a NumPy array: Specify the index of the element to remove. Call the numpy. delete() function on the array for the given index.
Here is how you can do it:
>>> A[3:5, 3:5] = B >>> A 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]])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With