在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个维度实际是指最后一个维度。
文章来源:https://www.toymoban.com/news/detail-542941.html
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 文章来源地址https://www.toymoban.com/news/detail-542941.html
到了这里,关于Python多维矩阵的各个维度表示(axis = ......)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!