精华内容
下载资源
问答
  • 今天小编就为大家分享一篇对numpy中的transpose和swapaxes函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python之swapaxes用法

    千次阅读 2020-04-06 15:45:02
    python之swapaxes用法 swapaxes的用法就是交换轴的位置,前后两个的位置没有关系。 在这里插入代码片arr=np.arange(16).reshape((2,2,4)) array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, ...

    python之swapaxes用法
    swapaxes的用法就是交换轴的位置,前后两个的位置没有关系。

    arr=np.arange(16).reshape((2,2,4))
    
    array([[[ 0,  1,  2,  3],
            [ 4,  5,  6,  7]],
           [[ 8,  9, 10, 11],
            [12, 13, 14, 15]]])
    arr.swapaxes(1,2)
    Out[19]: 
    array([[[ 0,  4],
            [ 1,  5],
            [ 2,  6],
            [ 3,  7]],
    
           [[ 8, 12],
            [ 9, 13],
            [10, 14],
            [11, 15]]])
    
    arr.swapaxes(2,1)
    Out[20]: 
    array([[[ 0,  4],
            [ 1,  5],
            [ 2,  6],
            [ 3,  7]],
    
           [[ 8, 12],
            [ 9, 13],
            [10, 14],
            [11, 15]]])
    
    展开全文
  • 今天小编就为大家分享一篇对numpy下的轴交换transpose和swapaxes的示例解读,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 下面小编就为大家分享一篇Numpy中转置transpose、T和swapaxes的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了详解Numpy数组转置的三种方法T、transpose、swapaxes,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • numpy的transponse和swapaxes方法 最近正在着手学习《利用Python进行数据分析·第2版》中文版开源书籍对其中第四章4.1数组转置和轴变换中所提及的transponse方法和swapaxes方法感到疑惑,查阅了一些网络上的解释之后...

    numpy的transponse和swapaxes方法

    最近正在着手学习《利用Python进行数据分析·第2版》中文版开源书籍对其中第四章4.1数组转置和轴变换中所提及的transponse方法和swapaxes方法感到疑惑,查阅了一些网络上的解释之后,作此笔记以作理解。

    Transponse方法

    Transponse直译就是转置阵,以下面的矩阵作为例子解释该方法的用法

    array=np. arange(8). reshape((2, 2, 2))
    print(array)
    

    这条语句的输出为:

    [[[0 1]
      [2 3]]
    
     [[4 5]
      [6 7]]]
    

    reshape方法按照传入的元组(2,2,2)把新建的一维数组重塑成为一个新的数组
    在这个新的数组中,

           0  1  2
     array[0][0][0]=0
     array[0][0][1]=1
     array[0][1][0]=2
     array[0][1][1]=3
     array[1][0][0]=4
     array[1][0][1]=5
     array[1][1][0]=6
     array[1][1][1]=7
    
    array1=array.transponse((2,0,1))
    print(array1)
    

    输出为:

    [[[0 2]
      [4 6]]
    
     [[1 3]
      [5 7]]]
    

    经过transponse方法处理的数组中,

          2  0  1
    array[0][0][0]=0
    array[1][0][0]=1
    array[0][0][1]=2
    array[1][0][1]=3
    array[0][1][0]=4
    array[1][1][0]=5
    array[0][1][1]=6
    array[1][1][1]=7
    

    即传入transponse的元组中(0,1,2)分别代表数组的索引值,这个方法把数组中某一元素的位置按索引值的顺序改变,形成新的数组。
    参考文章:Numpy的transponse()函数

    swapaxes方法

    swapaxes方法在用法上与transponse有些许不同,传入到swapaxes方法中的不再是元组。

    array2=array.swapaxes(1,2)
    print(array2)
    

    其输出为

    [[[0 2]
      [1 3]]
    
     [[4 6]
      [5 7]]]
    

    在array2中

           0  2  1
    array2[0][0][0]=0
    array2[0][1][0]=1
    array2[0][0][1]=2
    array2[0][1][1]=3
    array2[1][0][0]=4
    array2[1][1][0]=5
    array2[1][0][1]=6
    array2[1][1][1]=7
    

    简单地说swapaxes(1,2)方法,是把原来数组array中所有元素的1,2的索引值交换,从而组成新的数组array2
    值得注意的是swapaxes(1,2)和swapaxes(2,1)所得到的结果是一样的

    arr3 = arr.swapaxes(2,1)
    print(arr3)
    

    输出是:

    [[[0 2]
      [1 3]]
    
     [[4 6]
      [5 7]]]
    
    展开全文
  • transpose和swapaxes函数讲解 transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数。 我们看如下一个numpy的数组: `arr=np.arange(16).reshape((2,2,4)) arr= array([...

    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函数的讲解了

    展开全文
  • [Python3]Numpy数组转置的三种方法T、transpose、swapaxes

    万次阅读 多人点赞 2019-06-05 20:14:50
    swapaxes方法接受的参数是一对轴编号,使用transpose方法是对整个轴进行对换,而swapaxes是将参数的两个轴进行对换。刚刚上面的transpose(1,0,2),实际上就是将0和1轴进行对换,因此使用swapaxes也可以实现,如下...

    天下难事,必作于易;天下大事,必作于细——老子

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

    1.首先数组转置(T)
    创建二维数组data如下:

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

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

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

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

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

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

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

    展开全文
  • numpy中transpose和swapaxes函数讲解

    万次阅读 多人点赞 2017-04-23 19:34:53
    transpose和swapaxes函数讲解 transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数。 我们看如下一个numpy的数组: `arr=np.arange(16).reshape((2,2,4)) arr= ...
  • numpy中transpose和swapaxes个人理解 在numpy中transpose和swapaxes的原理很类似,但功能有所不同。需要注意transpose()是作用在数组各个元素上的,而swapaxes是作用在维度上的。 transpose()括号内如不加参数,...
  • 主要介绍了numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 这里写目录标题一、transpose的用法二、swapaxes的用法 一、transpose的用法 用法: arr.transpose(x,y,z)中的 (x,y,z)相当于三维坐标,默认情况下为(0,1,2), import numpy as np arr = np.arange(16).reshape(2,2...
  • ndarray对象的操作函数之np.swapaxes(a,x,y) 等价于 a.swapaxes(x,y) import numpy as np a = np.arange(24).reshape((2,3,4)) 生成如下数组: 方法理解: a.swapaxes(x,y),是将n维数组中两个维度进行调换,...
  • 文章目录前言一、 Numpy的Flatten和RavelNumpy的Flatten和Ravel 实操案例二、 Numpy的Transpose和swapaxesNumpy的Transpose和swapaxes的实操案例 前言 一、 Numpy的Flatten和Ravel 二、 Numpy的Transpose和swapaxes...
  • 在研究numpy的时候发现数组是一个很抽象的概念,毕竟远离数学多年,其转置和换轴更是不知所谓了。所以花了一些时间通过画图搞清楚了一些东西。 数组在三维空间的表示方法 两轴数组 ...arr2.swapaxes(1, 0
  • numpy T、transpose()函数、swapaxes()函数

    千次阅读 2020-01-09 20:02:26
    1 矩阵转置T,也既2维数组 ...3 swapaxes()函数接受的参数是一对轴编号 1 矩阵转置T,既线性代数中矩阵转置 示例程序如下: import numpy as np a = np.arange(0,24,2).reshape(3, 4) print('*****a****') ...
  • 转置(transpose)和轴对换(swapaxes)

    千次阅读 2018-04-03 16:06:54
    参考博文1、T适用于一维二维数组转置2、对于高维数组,transpose需要用到一个用轴编号组成的元组,才能进行转置。对于多维数组来说,确定最底层的一个基本...形状索引2021323、swapaxes接受一堆轴编号,进行轴对换...
  • 转置有三种方式,transpose方法、T属性以及swapaxes方法。 1 . T 适用于一、二维数组 In [1]: import numpy as np In [2]: arr = np.arange(20).reshape(4,5)#生成一个4行5列的数组 In [3]: arr Out[3]: ...
  • numpy中transpose和swapaxes函数 (数组转置和换轴) 转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容。数组拥有transpose方法,也有特殊的T属性。 .T是最简单的转置属性,也是所有转置的...
  • 详解numpy中的swapaxes函数 文章目录详解numpy中的swapaxes函数 swapaxes函数比较简单 我们以三维数组为例,其他维度的思路一样 先产生一个随机的三维数组 arr = np.arange(16).reshape((2,2,4)) arr 使用swapaxes...
  • numpy.swapaxes 函数用于交换数组的两个轴,格式如下: numpy.swapaxes(arr, axis1, axis2) arr:输入的数组 axis1:对应第一个轴的整数 axis2:对应第二个轴的整数 import numpy as np # 创建了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,119
精华内容 1,247
关键字:

swapaxes