python一维数组转置_python矩阵转置[通俗易懂]

python一维数组转置_python矩阵转置[通俗易懂]python中的矩阵转置首先,数据应该是np.asarray型,然后,使用numpy.transpose来操作。transpose方法只能处理高维数组(>1),如果处理一维数组会报错;对于二维数组:data1=np.arange(4).reshape((2,2))print(data1)>>[[01][23]]data1=np.transpose(data1)print(data1)>…

大家好,又见面了,我是你们的朋友全栈君。

python中的矩阵转置

首先,数据应该是np.asarray型,

然后,使用numpy.transpose来操作。

transpose方法只能处理高维数组(>1),如果处理一维数组会报错;

对于二维数组:

data1 = np.arange(4).reshape((2,2))

print(data1)

>>[[0 1]

[2 3]]

data1 = np.transpose(data1)

print(data1)

>>[[0 2]

[1 3]]

对于三维数组:(3,2,2)的数组对应转置为(2,2,3)

data1 = np.arange(12).reshape((3,2,2))

print(data1)

>>[[[ 0 1]

[ 2 3]]

[[ 4 5]

[ 6 7]]

[[ 8 9]

[10 11]]]

data1 = np.transpose(data1)

print(data1)

>>[[[ 0 4 8]

[ 2 6 10]]

[[ 1 5 9]

[ 3 7 11]]]

对于四维数组:(2,3,2,2)的数组对于转置为(2,2,3,2)

data1 = np.arange(24).reshape((2,3,2,2))

print(data1)

>>[[[[ 0 1]

[ 2 3]]

[[ 4 5]

[ 6 7]]

[[ 8 9]

[10 11]]]

[[[12 13]

[14 15]]

[[16 17]

[18 19]]

[[20 21]

[22 23]]]]

data1 = np.transpose(data1)

print(data1)

>>[[[[ 0 12]

[ 4 16]

[ 8 20]]

[[ 2 14]

[ 6 18]

[10 22]]]

[[[ 1 13]

[ 5 17]

[ 9 21]]

[[ 3 15]

[ 7 19]

[11 23]]]]

所以默认的transpose()是将数组的形状和对应的元素全部倒置。

对于有参数的transpose:对于三维数组,原型数组的参数应该是(0,1,2),对应的是外行,子行,子列,如果变成(1,0,2)就是将外行变成子行,子行变成外行。对于元素索引也发生同样改变,比如原来的元素3的索引是(0,1,1),转换后就是(1,0,1)

data1 = np.arange(12).reshape((2,3,2))

print(data1)

data2 = data1.transpose(1, 0, 2)

print(data2)

>>[[[ 0 1]

[ 2 3]

[ 4 5]]

[[ 6 7]

[ 8 9]

[10 11]]]

>>[[[ 0 1]

[ 6 7]]

[[ 2 3]

[ 8 9]]

[[ 4 5]

[10 11]]]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137144.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一个中科大差生的8年程序员工作总结

    一个中科大差生的8年程序员工作总结今年终于从大菊花厂离职了,离职前收入大概60w不到吧,在某乎属于比较差的,今天终于有空写一下自己的职场故事,也算是给自己近8年的程序员工作做个总结复盘。近8年有些事情做对了,也有更多事情做错了,在这里记录一下,希望能够给后人一些帮助吧,也欢迎私信交流。文笔不好,见谅,有些细节记不清了,如果有出入,就当是我编的这个故事吧。PS:有几个问题先在这里解释一下,评论就不一一回复了1、关于差生,我本人在科大时确实成绩偏下,差生主要讲这一点,没其他意思。2、因为买房是我人生中的大事,我认为需要记录和总结一下

    2022年10月16日
    3
  • RPN网络解读

    RPN网络解读RPN网络源码解读在高层的featuremap初次计算anchorbox点数值604099代表一个特征维度生成9个anchorbox,但特征层w,h为啥是60,40不应该是相等的?毕竟backbone网络一系列操作(下采样),w,h同时缩小的。下不管了,不是今天主要问题。step1:也就是说原始生成大约20000boxs,再进行2k排序(每个boxs得分为目标或背景的概率,不管是背景还是目标都要得分高的)设定阈值为12000,也就是说最多保留12000,也有的源码设定2000。step2

    2022年6月23日
    32
  • 计算机图形学光栅化实验_光栅化算法

    计算机图形学光栅化实验_光栅化算法光栅化光栅化的任务将在投影变换中得到的正则立方体显示在屏幕上屏幕screen像素(pixels)的集合。屏幕的大小使用分辨率(resolution)来刻画。经典的光栅显示设备像素pixel像素是一个具有统一颜色的小立方体颜色由三部分组成red,green,blue屏幕空间​ 屏幕被划分成一个个正方体,称为像素。像素使用坐标(x,y)(x,y)(x,y)来表示,其中心是(x+0.5,y+0.5)(x+0.5,y+0.5)(x+0.5,y+0.5),

    2022年10月21日
    3
  • ensp配置静态路由的步骤_2个路由器静态路由配置

    ensp配置静态路由的步骤_2个路由器静态路由配置eNSP配置静态路由目标配置目标:如下拓扑结构,从CLIENT1去pingCLIENT2,ping通拓扑结构路由配置配置各个路由表的核心思想是:只有这个路由表中有一个网段的网络号,才可以从这个路由器跳转到该网段,下面只展示R1的前往CLIENT2的路由配置,其他路由器及返回过程配置类似。CLIENT1配置CLIENT2配置R1配置[R1]int…

    2022年9月24日
    2
  • 有名的博客网站「建议收藏」

    有名的博客网站「建议收藏」 根据自身特殊的定位和客户群,不同的网站有着不同的表现手法,所强调的功能和服务也有很大的区别,有的是独立托管网站,有的依附于门户或专业、行业网站,这种多样化的博客托管形成丰富多彩的博客内容和广泛的接触面及影响力,多样化产生了精彩,而这正是值得我们去深入研究并借鉴的地方。下文的点评即是基于大众对各博客托管网站的认识,力求从客观公正的角度加以整体分析。No.1:博客网——http://

    2022年7月12日
    15
  • 项目与数据库时差8小时解决,设置SpringBoot的时区

    项目与数据库时差8小时解决,设置SpringBoot的时区Componentpub PostConstruc TimeZone setDefault TimeZone getTimeZone UTC TimeZone setDefault TimeZone getTimeZone Asia Shanghai TimeZone setDefault Time

    2025年6月8日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号