多维numpy.array矩阵行列变换
看了很多博客讲的都是二维数组的变换,提供一下更高维的例子:
代码模拟的是(4,4,3)矩阵交换第一列和第三列,实际问题场景是图片像素矩阵RGB转BGR。
# numpy==1.19.1
import numpy as np
l = [[[1,2,3],[1,2,3],[1,2,3],[1,2,3]],[[4,4,4],[5,5,5],[6,6,6],[3,3,3]], [[11,11,11],[12,12,12],[13,13,13],[13,13,13]], [[21,21,21],[22,22,22],[23,23,23],[23,23,23]]]
al = np.array(l)
print(al.shape)
al = al[:,:,[2,1,0]] # 交换最内层的两列,前面的冒号代表维度选择,后面的数字代表下标
print(al, al.shape)