假设我有一个数组A。我有一系列索引对(a1,b1),(a2,b2)…(an,bn)
我想获取这些对之间元素的所有和。即
sum(A[a1:b1]), sum(A[a2:b2]), sum(A[a3:b3]) ...
就运行时而言,最有效的方法是什么?
谢谢!
假设您的索引对存储在一个NumPyindices形状的数组中(n, 2)并且n相当大,最好避免任何Python循环:
indices
(n, 2)
n
c = numpy.r_[0, A.cumsum()][indices] sums = c[:,1] - c[:,0]