Numpy diff倒置操作?

Ade*_*újo 8 python diff numpy

使用numpy.diff函数,假设这个简单的情况:

>>> x = np.array([1, 2, 4, 7, 0])
>>> x_diff = np.diff(x)
array([ 1,  2,  3, -7])
Run Code Online (Sandbox Code Playgroud)

我怎样才能轻松x回到原始尺度而不是差异?我想numpy.cumsum()有一些东西.

Div*_*kar 11

与第一个元素连接然后使用cumsum-

np.r_[x[0], x_diff].cumsum()
Run Code Online (Sandbox Code Playgroud)

对于连接,我们也可以这样使用np.hstack-

np.hstack((x[0], x_diff)).cumsum()
Run Code Online (Sandbox Code Playgroud)

或者np.concatenate用于连接 -

np.concatenate(([x[0]], x_diff)).cumsum()
Run Code Online (Sandbox Code Playgroud)