zl程序教程

您现在的位置是:首页 >  其它

当前栏目

矩阵转置(transpose、T)

矩阵 转置
2023-09-14 09:06:09 时间

1.T 

T 适用于一、二维数组的转置
transpose 适用于高维数组,需要用到一个由轴编号组成的元组,才能进行转置

In [1]: import numpy as np

In [2]: arr = np.arange(20).reshape(4,5)#生成一个4行5列的数组

In [3]: arr
Out[3]:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])

In [4]: arr.T #求转置
Out[4]:
array([[ 0,  5, 10, 15],
       [ 1,  6, 11, 16],
       [ 2,  7, 12, 17],
       [ 3,  8, 13, 18],
       [ 4,  9, 14, 19]])

2.transpose

原三维数组 arr 三个维度 (2,3,4) 对应的是 (0,1,2) 三个索引
transpose 函数可以理解为改变数组数值的映射关系,
arr1 = arr.transpose((1,0,2)) 的操作:相当于把原三维数组 arr 的第一个维度和第二个维度调换【新数组6这个数所在的索引是(1,0,2)】
arr2 = arr.transpose((0,2,1)) 的操作:相当于把原三维数组 arr 的第二个维度和第三个维度调换【新数组6这个数所在的索引是(0,2,1)】
 

原3维数组arr:

[[[ 0 1 2 3]
  [ 4 5 6 7]
  [ 8 9 10 11]]


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

3个维度分别为: (2, 3, 4):两行三列的矩阵四个叠在一起
在这里插入图片描述

新数组 arr1 (3,2,4)

在这里插入图片描述

新数组arr2 (2,4,3)

在这里插入图片描述

转置(transpose)的理解_G果的博客-CSDN博客

numpy之转置(transpose)和轴对换 - 我的前进日志 - 博客园