如何获得numpy数组的累积和

Sam*_*uel 9 python arrays numpy cumsum

我想计算积分图像.例如

a=array([(1,2,3),(4,5,6)])
b = a.cumsum(axis=0)
Run Code Online (Sandbox Code Playgroud)

这将生成另一个数组b.我可以执行cumsum就地.如果不 .还有其他方法可以做到这一点

Sau*_*tro 10

你必须传递参数out:

np.cumsum(a, axis=1, out=a)
Run Code Online (Sandbox Code Playgroud)

OBS:您的数组实际上是一个二维数组,因此您可以使用axis=0沿行axis=1求和并沿列求和.

  • @Samuel - 不要为此使用`a.data`.它只能在非常有限的情况下工作(例如,在返回相同数组的情况下,您正在执行的操作,而不是共享相同数据的新数组).请改用"numpy.may_share_memory". (2认同)