Суммируйте одновременно 3 измерения 4-мерной матрицы

1

У меня 4d-матрица, mat4. Вместо того, чтобы использовать np.sum(mat, axis=) и определяя axis 3 раза для трехмерных измерений, есть ли способ, которым я могу суммировать многие измерения матрицы одновременно?

#Sum 'mat4' except 'axis=0'

mat4 = np.random.rand(2,3,4,5)
matsum = np.sum(mat4, axis=3)
matsum = np.sum(matsum, axis=2)
matsum = np.sum(matsum, axis=1)

print matsum.shape
>> (2L,)
Теги:
numpy
python-2.7
matrix

1 ответ

3
Лучший ответ

axis может быть либо int либо tuple, поэтому вы можете просто использовать

np.sum(mat, axis=(1, 2, 3))

Из np.sum docs:

Если ось является кортежем ints, сумма выполняется по всем осям, указанным в кортеже, вместо одной оси или всех осей, как и раньше.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню