I want to be able to iterate over the matrix to apply a function to each row. How can I do it for a Numpy matrix ?
NumPy package contains an iterator object numpy. It is an efficient multidimensional iterator object using which it is possible to iterate over an array. Each element of an array is visited using Python's standard Iterator interface.
You can use numpy.apply_along_axis()
. Assuming that your array is 2D, you can use it like:
import numpy as np mymatrix = np.matrix([[11,12,13], [21,22,23], [31,32,33]]) def myfunction(x): return sum(x) print(np.apply_along_axis(myfunction, axis=1, arr=mymatrix)) #[36 66 96]
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