Numpy中数组转置和轴对换——transpose、T、swapaxes

以多维数组为例,如:(2, 2, 4)表示 2个2X4矩阵,可以理解为(2[0], 2[1], 2[2]),其中[0]表示0轴。

import numpy as np  
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]]]) 

1、transpose(1,0,2):表示将(2[0], 2[1], 2[2])转换为(2[1], 2[0], 2[2])。简单理解就是,将不同位置元素替换掉。

比如:arr[0, 0, 0],第一位和第二位转换后,仍是arr[0, 0, 0]。arr[0 , 1, 0] = 4, 转换后为 arr[1, 0, 0] = 8。同理arr[1, 0 , 0]转换为 arr[0, 1, 0]。此次类推。

arr.transpose(1,0,2)  
array([[[ 0,  1,  2,  3],  
        [ 8,  9, 10, 11]],  
  
       [[ 4,  5,  6,  7],  
        [12, 13, 14, 15]]]) 

2、T转置:表示整个顺序颠倒,(2[0], 2[1], 2[2])转换为(2[2], 2[1], 2[0])。相应的分析方法一样,就是内容替换。

arr.T  
array([[[ 0,  8],  
        [ 4, 12]],  
  
       [[ 1,  9],  
        [ 5, 13]],  
  
       [[ 2, 10],  
        [ 6, 14]],  
  
       [[ 3, 11],  
        [ 7, 15]]])  
  
arr.transpose(2,1,0)   
array([[[ 0,  8],  
        [ 4, 12]],  
  
       [[ 1,  9],  
        [ 5, 13]],  
  
       [[ 2, 10],  
        [ 6, 14]],  
  
       [[ 3, 11],  
        [ 7, 15]]])  

3、swapaxes方法:表示,将其中两个轴互换。

arr.swapaxes(1,2)  
 array([[[ 0,  4],  
        [ 1,  5],  
        [ 2,  6],  
        [ 3,  7]],  
  
       [[ 8, 12],  
        [ 9, 13],  
        [10, 14],  
        [11, 15]]])  
  
arr.transpose(0,2,1)  
array([[[ 0,  4],  
        [ 1,  5],  
        [ 2,  6],  
        [ 3,  7]],  
  
       [[ 8, 12],  
        [ 9, 13],  
        [10, 14],  
        [11, 15]]])  
以上就是对Numpy中T、transpose、swapaxes的一点学习。主要参考学习自利用python学习数据分析和http://blog.csdn.net/qq_18989901/article/details/73142472博文。
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值