summiere Teile von numpy.array

Angenommen, ich habe das folgende Array:

a = np.array([[1,2,3,4,5,6], 
              [7,8,9,10,11,12],
              [3,5,6,7,8,9]])

Ich möchte die ersten beiden Werte der ersten Zeile summieren:1+2 = 3, dann die nächsten zwei Werte:3+4 = 7, und dann5+6 = 11und so weiter für jede Zeile. Meine gewünschte Ausgabe ist diese:

array([[ 3,  7, 11],
       [15, 19, 23],
       [ 8, 13, 17]])

Ich habe folgende Lösung:

def sum_chunks(x, chunk_size):
    rows, cols = x.shape
    x = x.reshape(x.size / chunk_size, chunk_size)
    return x.sum(axis=1).reshape(rows, cols/chunk_size)

Aber es fühlt sich unnötig kompliziert an, gibt es einen besseren Weg? Vielleicht ein eingebautes?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage