Python Numpy 累积/差值

时间:2020-12-31 09:14:30

标签: python arrays numpy cumulative-sum

我希望扭转 numpy 的 cumsum 函数的影响,即累积/运行总数。查看下面的代码,我分配了数字 1 到 10,以及这些数字的运行总数。我需要颠倒这个过程,即从 b 计算 a。我可以对此进行编码(参见 c),但如果可能的话,我更愿意使用预先优化的内置函数。有没有符合要求的可用的东西?

import numpy as np

a = np.arange(1,10)
a
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])

b = np.cumsum(a)
b
# array([ 1,  3,  6, 10, 15, 21, 28, 36, 45], dtype=int32)

c=np.array([b[0]])
c=np.append(c,b[1:9]-b[0:8])
c
# array([1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32)

非常感谢。

1 个答案:

答案 0 :(得分:1)

这应该能帮到你!

с = b.copy()
с[1:] = np.diff(b)
с
# array([1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32)
相关问题