我有4D矩阵mat4。有没有一种方法可以同时对矩阵的多个维度求和,而不是使用np.sum(mat, axis=)并为3个维度定义3次axis

#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关键字可以是inttuple,因此
你可以简单地使用

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


np.sum文档:


  如果axis是一个整数元组,则对所有轴进行求和
  在元组中指定,而不是像以前一样指定单个轴或所有轴。

关于python - 同时求和4维矩阵的3维,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52033761/

10-15 11:49