numpy中transpose和swapaxes函数讲解
来源:互联网 发布:淘宝店铺新手装修步骤 编辑:程序博客网 时间:2024/06/10 05:20
transpose和swapaxes函数讲解
- 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高维数组的切片也是这样选取维度的。
这就是transpose和swapaxes函数的讲解了
1 0
- numpy中transpose和swapaxes函数讲解
- Numpy中转置transpose、T和swapaxes
- python 中的数组转置和轴对称,T/transpose/swapaxes
- Numpy中的transpose函数
- numpy中tile函数讲解
- numpy.transpose()
- numpy.transpose()
- python 中numpy.transpose()的用法
- Numpy的c_和r_以及transpose
- numpy 维度、轴和transpose的理解
- python中numpy的argsort函数讲解
- numpy常用函数(power、sum、tile、transpose等)
- numpy常用函数(power、sum、tile、transpose等)
- numpy的函数讲解
- numpy中,矩阵的三种转置transpose、getT、getH的区别
- numpy array transpose
- numpy.transpose 使用问题
- numpy.transpose解析
- Android中的文件下载——DownLoadManager
- 【剑指offer】异或去重
- Deconv
- python socket例程
- IOS中的单例设计模式
- numpy中transpose和swapaxes函数讲解
- Apache整合Tomcat的相关问题
- linux基础3.9apache
- 重建二叉树
- F
- 利用eclipse打开github项目
- IPython 下的信息收集-魔力函数(page pinfo who等)- 千月的python linux 系统管理指南学习笔记(9)
- Hibernate三种实体映射,从建表到操作代码
- 设计模式-组合模式