2012-04-05 5 views

Antwort

3

Wahrscheinlich so etwas wie dieses:

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

Ein einfacheres Beispiel:

y = numpy.array([2, 6, 7, 3, 4]) 
print y[1:4].sum() 

druckt 16, die Summe der mittleren drei Elemente.

+0

Nicht genau; Das Matlab-Programm gibt alle Sechsen zurück (mindestens in Oktave). –

+0

@larsmans: Dann ist etwas über die Reihenfolge der Indizes in Matlab und NumPy anders. Ich fügte ein einfacheres Beispiel hinzu, um zu verdeutlichen, wie man über ein Array-Slice summiert. –

+0

@Bago: Ich habe das herausgefunden, aber ich habe es auf eine andere Art vermasselt, ohne Bezug auf die Unterschiede zwischen Matlab und NumPy. Sollte jetzt im Wesentlichen behoben sein. –

3

Dies sollte den Trick:

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

Beachten Sie, dass in Python, Indizes die Basis null und Ende Indizes sind nicht inklusive.

Verwandte Themen