如何在python / numpy中对数组中元素的间隔求和?
例如,在matlab中可能是这样的:
y= ones(10,20);
y(1:5,:) = 2;
for k = 1: 10
psum(k) = sum(y((1:3),k));
end
但是来自numpy的sum函数并没有支持“1:3”
谢谢!
答案 0 :(得分:3)
可能是这样的:
y = numpy.ones((10, 20))
y[0:5] = 2
psum = y[0:3].sum(axis=0)
一个更简单的例子:
y = numpy.array([2, 6, 7, 3, 4])
print y[1:4].sum()
打印16
,即中间三个元素的总和。
答案 1 :(得分:3)
这应该可以解决问题:
>>> y = np.ones((10, 20))
>>> y[0:5, :] = 2
>>> psum = y[0:3, 0:10].sum(axis=0)
请注意,在Python中,索引是从零开始的,而结束索引是非包容性的。