详解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中使用cookielib和urllib2配合PyQuery抓取网页信息
Apr 25 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
简单谈谈python基本数据类型
Sep 26 Python
对python多线程SSH登录并发脚本详解
Feb 14 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
用python中的matplotlib绘制方程图像代码
Nov 21 Python
python实现双色球随机选号
Jan 01 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
爬虫代理的cookie如何生成运行
Sep 22 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 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连接SQLServer2005 的问题解决方法
2010/07/19 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
js创建对象的方式总结
2015/01/10 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
2014年服务员工作总结
2014/11/18 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
openstack云计算keystone组件工作介绍
2022/04/20 Servers