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]]]

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • IrDA红外通信模块[通俗易懂]

    IrDA红外通信模块[通俗易懂]https://blog.csdn.net/XiaoCaiDaYong/article/details/82596872?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachine

  • 小米6解BL锁教程申请BootLoader解锁教程

    小米6解BL锁教程申请BootLoader解锁教程*小米6线刷兼救砖_解账户锁_纯净刷机包_教程*远程解锁一、准备工作1、注册小米账号:点击注册(已有小米账号请忽视)2、在手机中登陆【小米账号】3、下载并解压【小米解锁工具】或点击这里下载安装二、开始解锁1打开【小米解锁官网】:http://www.miui.com/unlock/,点击【立即解锁】,输入【小米账号】,点击【立即登录】,填写好上诉信息后,…

  • Java基础之序列化对象Serialized

    Java基础之序列化对象Serialized文章目录序列化对象Serialized目的:序列化类型应用场景代码案例直接应用自定义对象序列化序列化对象Serialized目的:序列化机制允许将实现序列化的Java对象转换成字节序列,这些字节序列可以被保存在磁盘上,或者通过网络传输,以备以后重新恢复成原来的对象.序列化类型对象的序列化(serialize)指将一个Java对象写入IO流中对象的反序列化机制(Deserialize)则指从IO流中恢复该Java对象.应用场景当你想把的内存中的对象保存到一个文件中或者数据库中时候;

  • phpstorm最新激活码【中文破解版】「建议收藏」

    (phpstorm最新激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 【SpringCloud】微服务笔记

    【SpringCloud】微服务笔记集中什么是微服务架构:1597213385700SpringCloud是微服务一站式服务解决方案,微服务全家桶。它是微服务开发的主流技术栈。它采用了名称,而非数字版本号。s方法gCloud和springCloudAlibaba目前是最主流的微服务框架组合。版本选择:选用springboot和springCloud版本有约束,不按照它的约束会有冲突。版本问题本次学习的各种软件的版本:boot使用的是数字作为版本。官网强烈建议升级到2.0以上cloud使用的是字母作为版本,伦

  • mac redis客户端_redis关闭服务器命令

    mac redis客户端_redis关闭服务器命令我选择的是直接使用Mac的Homebrew工具安装redis,可以节省很多配置的时间。1.安装命令brewinstallredis2.使用配置文件启动redis$redis-server或brewservicesstartredis3.连接远程服务器的数据库$redis-cli-hhost-pport-apassword//eg:$redis-cli-h192.168.11.225-p6379-a“password”//eg:$redis-cli

发表回复

您的电子邮箱地址不会被公开。

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