numpy transpose函数,python transpose函数

  numpy transpose函数,python transpose函数

  今天在网上搜了很多博客,但一直没有真正理解numpy中的transpose()函数。

  转置的原理其实是根据维度(形状)指标来确定的。举个栗子的例子:

  X=NP。阿兰格。reshape ((2,2))//生成一个2x2的数组print(x)[[0 1] [2 3]]我们生成了一个二维数组,有两个索引值(矩阵的行和列)。

  transpose()的作用是调换数组的行列值的索引值,类似于求矩阵的转置:

  X=NP。阿兰格。整形((2,2)) x=NP。TRANSPOSE (x) PRINT (x) [[02] [13]]我们可以直观地看到,数组的行列索引值互换,1的位置从x(0,1)运行到x(1,0)。

  三维数组呢?

  我们继续生成一个三维数组:

  X=NP。阿兰格(12)。reshape ((2,2,3))//生成一个2x2x3的数组print(X)[[0 12][3 45]][[6 78][9 10 11]]]我们从高中数学中知道,三维是由X轴、Y轴和Z轴组成的。

  假设三维数组中的索引值是x,y,z。

  transpose()函数用来转置x,y,z的位置,也就是数组的索引值。

  所以我们正常的数组索引值是(0,1,2),等于(x,y,z)

  让我们看看示例代码:

  x=np.arange(12)。reshape((2,2,3))print(x)[[[0 1 2][3 4 5]][[6 7 8][9 10 11]]]x=NP . transpose(x,(1,0,2)//transpose()函数的第二个参数是索引值改变的地方。print(x)[[012][678]][[345][91011]]通过transpose()函数将x的索引值改为(1,0,2),对应(y,y)。

  索引改变后,Y的原始值和X的值交换。

  以上面代码的数字7为例。7原来的位置索引是(1,0,1),通过转置(x,(1,0,2))的索引改为(0,1,1)。

  不管是四维还是五维.可以用这个原理来分析。

  明白了吗?其实原理很简单吧?

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: