сумма частей numpy.array

Допустим, у меня есть следующий массив:

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

Я хочу суммировать первые два значения первого ряда:1+2 = 3, затем следующие два значения:3+4 = 7, а потом5+6 = 11и так далее для каждого ряда. Мой желаемый вывод:

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

У меня есть следующее решение:

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)

Но это кажется излишне сложным, есть ли лучший способ? Возможно встроенный?

Ответы на вопрос(4)

Ваш ответ на вопрос