Подтвердить что ты не робот

Усреднение по всем n элементам массива numpy

У меня есть массив NumPy. Я хочу создать новый массив, который является средним по каждому последовательному триплету элементов. Таким образом, новый массив будет на треть меньше размера оригинала.

В качестве примера:

 np.array([1,2,3,1,2,3,1,2,3])

должен вернуть массив:

 np.array([2,2,2])

Кто-нибудь может предложить эффективный способ сделать это? Я рисую заготовки.

4b9b3361

Ответ 1

Если ваш массив arr имеет длину, делящуюся на 3:

np.mean(arr.reshape(-1, 3), axis=1)

Преобразование в массив с более высокой размерностью, а затем выполнение какой-либо операции сокращения в одном из дополнительных измерений является одним из основных способов программирования numpy.