2012-04-05 192 views

回答

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,中间的三个要素的总和。

+0

不完全; Matlab程序返回所有六个(至少在Octave中)。 – 2012-04-05 13:44:52

+0

@larsmans:那么关于Matlab和NumPy中索引的顺序有所不同。我添加了一个更简单的例子,以清楚如何总结一个数组切片。 – 2012-04-05 13:46:27

+0

@Bago:我明白了,但我以不同的方式搞砸了,与Matlab和NumPy之间的差异无关。现在应该基本修复。 – 2012-04-05 14:11:07

3

这应该做的伎俩:

>>> y = np.ones((10, 20)) 
>>> y[0:5, :] = 2 
>>> psum = y[0:3, 0:10].sum(axis=0) 

注意的是Python,指数是零基础,最终指数不包括在内。

相关问题