Numpy的transponse()函数

2018年2月26日17:13:34 4 1,277 °C
摘要

今天看源码的时候,发现了numpy的transponse函数没有理解,特意学习记录一下。numpy.transpose()函数是对矩阵按照所需要的要求进行转置的。

Numpy的transponse()函数

一、前言

今天看源码的时候,发现了numpy的transponse函数没有理解,特意学习记录一下。numpy.transpose()函数是对矩阵按照所需要的要求进行转置的。

二、实例分析

我们通过代码进行测试分析。

运行结果如下:

Numpy的transponse()函数

从上图可以看出,数组a的shape为(2,4,5),它是一个三位数组,那么这个元组对应的索引值为:(0,1,2)。也就是a.shpae的下标:(2[0],4[1],5[2]),[]中对应的是shape元组的索引值,现在,通过transponse(a, [1, 2, 0]),那么元组的shape就从(2[0],4[1],5[2])变成了(4[1],5[2],2[0])。

可以看到transponse其实就是该百年了高维数组的形状,对里面的元素进行了重新排序。

例如:

元素19的位置在a中的位置为a[0][3][4],经过transponse(a, [1, 2, 0])后,元素19的位置变为了b[3][4][0]。

三、总结

细细体会,发现规律之后,其实就很简单了。

weinxin
微信公众号
分享技术,乐享生活:微信公众号搜索「JackCui-AI」关注一个在互联网摸爬滚打的潜行者。
Jack Cui

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

    • avatar KodChen 这家伙可能用了美佬的代理 谷歌浏览器 Linux 美国 特拉华州dupont公司 1

      网站做的真牛逼!
      那么元组的shape就从(2[0],4[1],5[2])变成了(4[1],2[0],5[2])
      是(4[1],5[2],2[0])把~

        • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学四舍(女生)

          @KodChen 感谢支持!
          之前写错了,已更正:通过transponse(a, [1, 2, 0]),那么元组的shape就从(2[0],4[1],5[2])变成了(4[1],5[2],2[0])。

        • avatar saber酱 来自天朝的朋友 谷歌浏览器 Mac OS X 10_13_4 浙江省杭州市 电信 0

          transpose转置和T方法转置有什么区别

            • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学四舍(女生)

              @saber酱 用一个相同的数据,使用transpose和T的方法,测试下就知道了。