在python中对多维矩阵进行操作时,往往要指定操作的维度,一般用0,1,-1这样的数字表示矩阵的某一维度。二维矩阵还是好分辨数字表示的维度的,但对于三维矩阵或更高维度的矩阵就不好分辨了。这里只说明三维矩阵的三个维度怎么分辨。
以一个三维矩阵按不同维度求和为例
a=range(27)
a=np.array(a)
a=np.reshape(a,[3,3,3])
矩阵a的输出:
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]
[[ 9 10 11]
[12 13 14]
[15 16 17]]
[[18 19 20]
[21 22 23]
[24 25 26]]]
请记住下面这个图图,可以将各个维度求和操作对应到这张图
第-1个维度与第2个维度是一样的,第-1个维度实际是指最后一个维度。
1、aa=np.sum(a,0)的输出:
# axis = 0 维度的输出,第一个维度,把三维数组想象成一个长(正)方体
# 第一个维度相当于长方体的 宽 那个维度,对应位置元素相加
[[27 30 33]
[36 39 42]
[45 48 51]]