How to get the cumulative sum of numpy array in-place

Samuel picture Samuel · Aug 28, 2013 · Viewed 8.6k times · Source

I want to compute the integral image. for example

a=array([(1,2,3),(4,5,6)])
b = a.cumsum(axis=0)

This will generate another array b.Can I execute the cumsum in-place. If not . Are there any other methods to do that

Answer

Saullo G. P. Castro picture Saullo G. P. Castro · Aug 28, 2013

You have to pass the argument out:

np.cumsum(a, axis=1, out=a)

OBS: your array is actually a 2-D array, so you can use axis=0 to sum along the rows and axis=1 to sum along the columns.