numpy学习(数组转置和轴对换)

转置(transpose)是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。数组不仅有transpose方法,还有一个特殊的T属性:

在进行矩阵计算时,经常需要用到该操作,比如利用np.dot计算矩阵内积X.TX:(主要原因是前一个矩阵的列数必须是后一个矩阵的行数,乘积才有意义)

矩阵乘法规则:

19=1*5+2*7

22=1*6+2*8

43=3*5+4*7

50=3*6+4*8

对于高维数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置(比较费脑子):

先创建一个3维数组,然后对坐标轴进行转置。

转置参数为2,0,1,原数组arr1的维度参数为4,2,2分别对应索引0,1,2,转置后维度参数则为2、4、2,即4,2,2-->2,4,2:

由此可以看到原索引0轴与索引2轴发生了对换,在三维下,每个元素由3个索引构成,如arr1中10的位置为(2,1,0),转置后为(0,2,1)

posted on 2018-03-09 23:47  疯度翩翩945  阅读(344)  评论(0编辑  收藏  举报

导航