У меня 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,)
axis
может быть либо int
либо tuple
, поэтому вы можете просто использовать
np.sum(mat, axis=(1, 2, 3))
Из np.sum
docs:
Если ось является кортежем ints, сумма выполняется по всем осям, указанным в кортеже, вместо одной оси или всех осей, как и раньше.