如果我有 z = cumsum( [ 0, 1, 2, 6, 9 ] )
,这给了我 z = [ 0, 1, 3, 9, 18 ]
,我怎样才能回到原来的数组 [ 0, 1, 2, 6, 9 ]
?
最佳答案
z[1:] -= z[:-1].copy()
短小精悍,没有缓慢的 Python 循环。我们取除第一个元素 (z[1:]
) 和除最后一个元素 (z[:-1]
) 之外的所有元素的 View ,然后逐个元素相减。副本确保我们减去原始元素值而不是我们正在计算的值。 ( On NumPy 1.13 and up ,您可以跳过 copy
调用。)
关于python - numpy cumsum 函数的反函数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666924/