Samuel Samuel - 4 months ago 26
Python Question

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

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

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.

Comments