Python多维矩阵的各个维度表示(axis = ......)

在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个维度实际是指最后一个维度。

Python多维矩阵的各个维度表示(axis = ......)_第1张图片

1、aa=np.sum(a,0)的输出:

# axis = 0 维度的输出,第一个维度,把三维数组想象成一个长(正)方体
# 第一个维度相当于长方体的 宽 那个维度,对应位置元素相加
[[27 30 33]
 [36 39 42]
 [45 48 51]]

2、bb=np.sum(a,1)的输出:

# axis = 1 维度的输出,第二个维度(列),对于每个二维数组,求每列元素的和
[[ 9 12 15]
 [36 39 42]
 [63 66 69]]

  3、cc=np.sum(a,2)的输出:

# axis = 2 维度的输出,是最后一个维度(行),和-1指的是同一个维度
# 对于每个二维数组,每行元素求和
[[ 3 12 21]
 [30 39 48]
 [57 66 75]]

 dd=np.sum(a,-1)的输出:

# axis = -1 维度的输出
[[ 3 12 21]
 [30 39 48]
 [57 66 75]]

参考原文链接:https://www.jb51.net/article/142765.htm 

你可能感兴趣的:(其他学习记录,python,矩阵,开发语言)