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