详解Numpy数组转置的三种方法T、transpose、swapaxes


Posted in Python onMay 27, 2019

Numpy是高性能科学计算和数据分析的基础包,里面包含了许多对数组进行快速运算的标准数学函数,掌握这些方法,能摆脱数据处理时的循环。

1.首先数组转置(T)

创建二维数组data如下:

详解Numpy数组转置的三种方法T、transpose、swapaxes

进行矩阵运算时,经常要用数组转置,比如计算矩阵内积X^T X.这时就需要利用数组转置,如下:

详解Numpy数组转置的三种方法T、transpose、swapaxes

2.轴对换之transpose

对于高维数组,可以使用轴对换来对多个维度进行变换。

详解Numpy数组转置的三种方法T、transpose、swapaxes

这里创建了一个三维数组,各维度大小分别为2,3,4。

详解Numpy数组转置的三种方法T、transpose、swapaxes

transpose进行的操作其实是将各个维度重置,原来(2,3,4)对应的是(0,1,2)。使用transpose(1,0,2)后,各个维度大小变为(3,2,4),其实就是将第一维和第二维互换。

对于这个三维数组,转置T其实就等价于transpose(2,1,0),如下:

详解Numpy数组转置的三种方法T、transpose、swapaxes

3.两轴对换swapaxes:swapaxes方法接受的参数是一对轴编号,使用transpose方法是对整个轴进行对换,而swapaxes是将参数的两个轴进行对换。刚刚上面的transpose(1,0,2),实际上就是将0和1轴进行对换,因此使用swapaxes也可以实现,如下:

详解Numpy数组转置的三种方法T、transpose、swapaxes

上面就是Numpy包里面进行数组转置和轴对换最常用的方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入理解python中的浅拷贝和深拷贝
May 30 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
Python无损音乐搜索引擎实现代码
Feb 02 Python
python如何实现一个刷网页小程序
Nov 27 Python
python3 实现调用串口功能
Dec 26 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
django实现后台显示媒体文件
Apr 07 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
python网络编程之五子棋游戏
May 14 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
Oct 10 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
python利用多种方式来统计词频(单词个数)
May 27 #Python
numpy中的ndarray方法和属性详解
May 27 #Python
numpy.linspace函数具体使用详解
May 27 #Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 #Python
Django框架设置cookies与获取cookies操作详解
May 27 #Python
numpy下的flatten()函数用法详解
May 27 #Python
详解numpy的argmax的具体使用
May 27 #Python
You might like
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
React Native验证码倒计时工具类分享
2017/10/24 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
Python实现堆排序的方法详解
2016/05/03 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
Python的几种主动结束程序方式
2019/11/22 Python
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
统计员岗位职责
2013/11/14 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
高二学生评语大全
2014/04/25 职场文书
合作与交流自我评价
2015/03/09 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
MySQL如何使备份得数据保持一致
2022/05/02 MySQL