0
如何求和python/numpy数组中元素的间隔?如何在python/numpy中对数组中的元素进行求和?
例如,在MATLAB有可能是这样的:
y= ones(10,20);
y(1:5,:) = 2;
for k = 1: 10
psum(k) = sum(y((1:3),k));
end
但SUM函数从numpy的并不能支持 “1:3”
谢谢!
如何求和python/numpy数组中元素的间隔?如何在python/numpy中对数组中的元素进行求和?
例如,在MATLAB有可能是这样的:
y= ones(10,20);
y(1:5,:) = 2;
for k = 1: 10
psum(k) = sum(y((1:3),k));
end
但SUM函数从numpy的并不能支持 “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()
打印16
,中间的三个要素的总和。
这应该做的伎俩:
>>> y = np.ones((10, 20))
>>> y[0:5, :] = 2
>>> psum = y[0:3, 0:10].sum(axis=0)
注意的是Python,指数是零基础,最终指数不包括在内。
不完全; Matlab程序返回所有六个(至少在Octave中)。 – 2012-04-05 13:44:52
@larsmans:那么关于Matlab和NumPy中索引的顺序有所不同。我添加了一个更简单的例子,以清楚如何总结一个数组切片。 – 2012-04-05 13:46:27
@Bago:我明白了,但我以不同的方式搞砸了,与Matlab和NumPy之间的差异无关。现在应该基本修复。 – 2012-04-05 14:11:07