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)
上一篇 2022年5月5日 上午10:40
下一篇 2022年5月5日 上午11:00


相关推荐

  • bat中使用mshta调用vbs语句获取精准计算的日期

    bat中使用mshta调用vbs语句获取精准计算的日期1.在bat中,获取指定的日期格式是比较麻烦的。因为cmd环境中,日期格式随着系统的时间格式设置而变化,通常系统默认的时间格式是“\’”符号作为连接符。日期通常用在文件名上,比如日志的文件名。那么日期的格式就只能用“-”符号代替,更改系统日期格式会显得容易被外界因素改变,导致不稳定。当然也可以用bat中的set来进行替换,但这样费代码量。2.对于计算日期来说,bat是难以准确做到的,也需要堆积代码量才能完成。特别是到了每个月的一号时,无法确定昨天是否是31号还是30号还是28号。那么bat就只能陷入迷茫

    2025年6月7日
    4
  • check the manual that corresponds to your MySQL server version for the right syntax to use near

    check the manual that corresponds to your MySQL server version for the right syntax to use near

    2021年7月15日
    86
  • python十进制转二进制的方法

    python十进制转二进制的方法介绍 2 种十进制转二进制的方法 1 直接用转换函数 m bin a print m 二进制 2 先把计算出来的二进制数列用字符串存储起来 然后再反向输出此字符串 a eval input 请您输入十进制数 m whilea gt 0 m str a 2 a 对 2 求余 添加到字符串 m 最后 a a 2print m 1 反向输出

    2026年3月18日
    2
  • python进阶(7)垃圾回收机制

    python进阶(7)垃圾回收机制前言现在的高级语言如java,c#等,都采用了垃圾回收机制,而不再像c,c++里,需要用户自己管理内存。自己管理内存及其自由,可以任意申请内存,但这如同一把双刃剑,可能会造成内存泄漏,空指针等bug

    2022年7月28日
    10
  • loadlibrary 失败的解决方法

    loadlibrary 失败的解决方法前段时间由于工作的电脑问题,只好重装电脑。然而,在我使用Qt尝试使用Loadlibrary动态调用DLL时却不成功,然后我使用Qt自带的动态调用API来尝试,依旧失败。起初觉得有点意外,搞了两天无果。后来才想起重装前曾经有装过某一个烧录工具,后来我尝试了一下,果然!Loadlibrary又调用成功了!我尝试找原因,结果我发现,原来Loadlibrary失败,是因为一个简单的原因,就是我没用

    2022年7月13日
    18
  • 通过主机名得到对应ip地址_如何查看电脑主机名或Ip地址

    通过主机名得到对应ip地址_如何查看电脑主机名或Ip地址
         由于SILVERLIGHT是基于纯客户端的机制实现的,想在SL中获取客户端计算机信息暂时还没有效的解决方案。
    一般都是基于WCF、WebService等在服务端获取发送请求机器的信息,然后再返回客户端,该方法可以实现;
    同时可以在

    2022年10月9日
    5

发表回复

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

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