如下所示:
import numpy as np
三维数组
arr1 = np.arange(16).reshape((2, 2, 4))
#[[[ 0 1 2 3]
# [ 4 5 6 7]]
# [[ 8 9 10 11]
# [12 13 14 15]]]
arr2=arr1.transpose((1,0,2))
#[[[ 0 1 2 3]
# [ 8 9 10 11]]
#
# [[ 4 5 6 7]
# [12 13 14 15]]]
正序为(0,1,2),数组为
#[[[ 0 1 2 3]
# [ 4 5 6 7]]
# [[ 8 9 10 11]
# [12 13 14 15]]]
为什么进过tanspose(1,0,2),数组变为
#[[[ 0 1 2 3]
# [ 8 9 10 11]]
#
# [[ 4 5 6 7]
# [12 13 14 15]]]
仔细观察之后,可以看到转置后的数组和转置前的数组的区别就是第一页的第二行和第二页的第一行对换了,可是为什么?
当我用arr1[0,1,0],索引值为4
当我用arr2[1,0,0],索引值为4
对比索引参数表的变化和正序和转置序的不同似乎存在某种联系
对于arr1数组,索引参数表[0,0,x]可以表示第一页的第一行,当前两个参数对换之后,同一个元素的索引参数表并没有变