如何在 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”
谢谢 !
大概是这样的:
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()
prints 16
,中间三个元素的总和。
这应该可以解决问题:
>>> y = np.ones((10, 20))
>>> y[0:5, :] = 2
>>> psum = y[0:3, 0:10].sum(axis=0)
请注意,在 Python 中,索引是从零开始的,而结束索引是不包含在内的。