对numpy中的transpose和swapaxes函数详解


Posted in Python onAugust 02, 2018

transpose()

这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数。

我们看如下一个numpy的数组:

`arr=np.arange(16).reshape((2,2,4)) 
arr= 
array([[[ 0, 1, 2, 3], 
[ 4, 5, 6, 7]], 
[[ 8, 9, 10, 11], 
[12, 13, 14, 15]]])
`

那么有:

arr.transpose(2,1,0)
array([[[ 0, 8],
  [ 4, 12]],

  [[ 1, 9],
  [ 5, 13]],

  [[ 2, 10],
  [ 6, 14]],

  [[ 3, 11],
  [ 7, 15]]])

为什么会是这样的结果呢,这是因为arr这个数组有三个维度,三个维度的编号对应为(0,1,2),比如这样,我们需要拿到7这个数字,怎么办,肯定需要些三个维度的值,7的第一个维度为0,第二个维度为1,第三个3,所以arr[0,1,3]则拿到了7

arr[0,1,3] #结果就是7

这下应该懂了些吧,好,再回到transpose()这个函数,它里面就是维度的排序,比如我们后面写的transpose(2,1,0),就是把之前第三个维度转为第一个维度,之前的第二个维度不变,之前的第一个维度变为第三个维度,好那么我们继续拿7这个值来说,之前的索引为[0,1,3],按照我们的转换方法,把之前的第三维度变为第一维度,之前的第一维度变为第三维度,那么现在7的索引就是(3,1,0)

同理所有的数组内的数字都是这样变得,这就是transpose()内参数的变化。

理解了上面,再来理解swapaxes()就很简单了,swapaxes接受一对轴编号,其实这里我们叫一对维度编号更好吧,比如:

arr.swapaxes(2,1) #就是将第三个维度和第二个维度交换
array([[[ 0, 4],
  [ 1, 5],
  [ 2, 6],
  [ 3, 7]],

  [[ 8, 12],
  [ 9, 13],
  [10, 14],
  [11, 15]]])

还是那我们的数字7来说,之前的索引是(0,1,3),那么交换之后,就应该是(0,3,1)

多说一句,其实numpy高维数组的切片也是这样选取维度的。

以上这篇对numpy中的transpose和swapaxes函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现将英文单词表示的数字转换成阿拉伯数字的方法
Jul 02 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python多维/嵌套字典数据无限遍历的实现
Nov 04 Python
Python端口扫描简单程序
Nov 10 Python
Python中property属性实例解析
Feb 10 Python
通过Pandas读取大文件的实例
Jun 07 Python
详解Python发送email的三种方式
Oct 18 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
Python基础之字符串操作常用函数集合
Feb 09 Python
为什么相对PHP黑python的更少
Jun 21 Python
python实现简单文件读写函数
Feb 25 Python
Numpy 改变数组维度的几种方法小结
Aug 02 #Python
python 字典中取值的两种方法小结
Aug 02 #Python
python 剪切移动文件的实现代码
Aug 02 #Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 #Python
Python实现两个list求交集,并集,差集的方法示例
Aug 02 #Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 #Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 #Python
You might like
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
js实现动态时钟
2020/03/12 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
ES6 十大特性简介
2020/12/09 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
python查看zip包中文件及大小的方法
2015/07/09 Python
TensorFlow损失函数专题详解
2018/04/26 Python
Python操作mongodb的9个步骤
2018/06/04 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
python 简单的调用有道翻译
2020/11/25 Python
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
母亲节感恩寄语
2014/02/21 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
农村门前三包责任书
2014/07/25 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫