zoukankan      html  css  js  c++  java
  • numpy中transpose和swapaxes函数讲解

    1 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]]])

    为什么会是这样的结果呢?对于transpose(2,1,0),就是把之前的维度调序,即:第三个维度转为第一个维度,之前的第二个维度不变,之前的第一个维度变为第三个维度。 

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

    arr.swapaxes(2,1)  #就是将第三个维度和第二个维度交换
    array([[[ 0,  4],
            [ 1,  5],
            [ 2,  6],
            [ 3,  7]],
    
           [[ 8, 12],
            [ 9, 13],
            [10, 14],
            [11, 15]]])

    注:今天读代码的时候,碰到了swapaxes函数,然后这篇文章不错,我就摘录了过来,只是为了以后方便查阅!!!

  • 相关阅读:
    jquery属性
    jquery选择器
    Django的模型
    win7安装RabbitMQ
    阿里云RDS备份的tar格式包恢复到本地自建数据库
    正确使用 Volatile 变量
    深入分析Volatile的实现原理
    volatile和synchronized的区别
    全面理解Java内存模型
    深入理解Feign之源码解析
  • 原文地址:https://www.cnblogs.com/Terrypython/p/10276374.html
Copyright © 2011-2022 走看看