python中transpose和swapaxes函数

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

 eg: 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),但是使用了transpose(2,1,0)之后,第一个维度就是原本的第三维度,第二维度不变,第三维度是原本的第一维度。

  举个栗子: 

                                   原坐标             转换后

                  >>>  1         [0,0,1]             [1,0,0]

                  >>>  2         [0,0,2]             [2,0,0]

 

      swapaxes接受一对轴编号(维度编号),比如:

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

       [[ 8, 12],
        [ 9, 13],
        [10, 14],
        [11, 15]]]
posted @ 2017-08-02 15:52  智慧小姐  阅读(1395)  评论(0编辑  收藏  举报