如何转置 3D 数组中的前 2 个维度

How to transpose first 2 dimensions in 3D array

如何转置 3D 数组“矩阵”的前两个维度?

matrix = np.random.rand(2,3,4)

在三维中,我想将 'rows' 与 'columns' 交换,最好不要循环。

您可以使用.transpose()函数。

matrix = matrix.transpose(1, 0, 2)

表示交换第一轴和第二轴。

您可以使用 swapaxes:

matrix2 = matrix.swapaxes(0,1)

示例:

# input
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],

       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])

# output
array([[[ 0,  1,  2,  3],
        [12, 13, 14, 15]],

       [[ 4,  5,  6,  7],
        [16, 17, 18, 19]],

       [[ 8,  9, 10, 11],
        [20, 21, 22, 23]]])