Iterating over Numpy matrix rows to apply a function each?

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]

Leave a Comment