如何在python / numpy中对数组中元素的间隔求和?

时间:2012-04-05 13:35:09

标签: python arrays matlab numpy sum

如何在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”

谢谢!

2 个答案:

答案 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中,索引是从零开始的,而结束索引是非包容性的。