假设我有一个数组 A.我有一系列索引对 (a1, b1), (a2, b2) ... (an, bn)
Suppose I have an array A. I have a series of index pairs (a1, b1), (a2, b2) ... (an, bn)
我想获得这些对之间元素的所有总和.即
I want to obtain all the sums of the elements between those pairs. i.e.
sum(A[a1:b1]), sum(A[a2:b2]), sum(A[a3:b3]) ...
就运行时而言,最有效的方法是什么?
In terms of run-time, what's the most efficient way of doing this?
谢谢!
假设您的索引对存储在形状为 (n, 2) 的 NumPy 数组 indices 和n 相当大,最好避免任何 Python 循环:
Assuming your index pairs are stored in a NumPy array indices of shape (n, 2) and n is fairly large, it is probably best to avoid any Python loop:
c = numpy.r_[0, A.cumsum()][indices]
sums = c[:,1] - c[:,0]
这篇关于索引对之间子数组中值的 Numpy 总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
列表字典中的总和值Sum values in a dict of lists(列表字典中的总和值)
如何在 Python 中对文本文件中的数字求和How to sum numbers from a text file in Python(如何在 Python 中对文本文件中的数字求和)
什么是类似于 sum() 的减法函数,用于减去列表中What is a subtraction function that is similar to sum() for subtracting items in list?(什么是类似于 sum() 的减法函数,用于减去列表中的
Python 等价于 sum() 使用 xor()Python equivalent of sum() using xor()(Python 等价于 sum() 使用 xor())
python中的求和矩阵列sum matrix columns in python(python中的求和矩阵列)
N个列表元素的总和pythonsum of N lists element-wise python(N个列表元素的总和python)