详解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函数参数类型*、**的区别
Apr 11 Python
python检查指定文件是否存在的方法
Jul 06 Python
详解Python中的文件操作
Aug 28 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
Flask之flask-script模块使用
Jul 26 Python
对python中的argv和argc使用详解
Dec 15 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 Python
django如何通过类视图使用装饰器
Jul 24 Python
pytorch模型存储的2种实现方法
Feb 14 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
如何利用python检测图片是否包含二维码
Oct 15 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 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实现MVC开发得最简单的方法――模型
2007/04/10 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
单位租车协议书
2015/01/29 职场文书
校运会新闻稿
2015/07/17 职场文书
小学思想品德教学反思
2016/02/24 职场文书