transpose()中三个轴编号的位置变化理解

transpose(a,b,c)其中a轴编号即为参考编号,垂直于a的平面即为所有平面,该平面上的数据再根据b,c相对于(0,1,2)的位置关系进行改变,下面以实例举例说明

A.transpose(0,1,2)对应的就是arr数组原形

  1. In [8]: arr.transpose(0,1,2)
  2. Out[8]:
  3. array([[[ 0, 1, 2, 3],
  4. [ 4, 5, 6, 7],
  5. [ 8, 9, 10, 11]],
  6. [[12, 13, 14, 15],
  7. [16, 17, 18, 19],
  8. [20, 21, 22, 23]]])

B.transpose(0,2,1),即以0为参考编号,数组0-1和0-2即为所求平面数组,但是2,1相对于(0,1,2)后面的轴编号进行了交换,所以数组0-1/0-2要以对角线进行.T转置(与二维数组的转置一样),所以结果如下。其余同理。

  1. In [9]: arr.transpose(0,2,1)
  2. Out[9]:
  3. array([[[ 0, 4, 8],
  4. [ 1, 5, 9],
  5. [ 2, 6, 10],
  6. [ 3, 7, 11]],
  7. [[12, 16, 20],
  8. [13, 17, 21],
  9. [14, 18, 22],
  10. [15, 19, 23]]])

C.以transpose(2,1,0)来验证以上操作。2为视角,数组2-1/2-2/2-3/2-4即为所求平面,再以1为视角,数组1-1/1-2即为所求平面,2-1与1-1两个平面的交线是[0,12]

  1. In [10]: arr.transpose(2,1,0)
  2. Out[10]:
  3. array([[[ 0, 12],
  4. [ 4, 16],
  5. [ 8, 20]],
  6. [[ 1, 13],
  7. [ 5, 17],
  8. [ 9, 21]],
  9. [[ 2, 14],
  10. [ 6, 18],
  11. [10, 22]],
  12. [[ 3, 15],
  13. [ 7, 19],
  14. [11, 23]]])

参考:https://www.cnblogs.com/sunshinewang/p/6893503.html

Python-numpy包中多维数组转置,transpose.swapaxes的轴编号(axis)的理解的更多相关文章

  1. numpy基础教程--二维数组的转置

    使用numpy库可以快速将一个二维数组进行转置,方法有三种 1.使用numpy包里面的transpose()可以快速将一个二维数组转置 2.使用.T属性快速转置 3.使用swapaxes(1, 0)方 ...

  2. python numpy包

    在numpy包中我们可以用数组来表示向量,矩阵和高阶数据结构 首先导入numpy包: from numpy import* 初始化numpy数组有多种方式,比如说 1.python列表或元祖 2.使用 ...

  3. NumPy之:ndarray多维数组操作

    NumPy之:ndarray多维数组操作 目录 简介 创建ndarray ndarray的属性 ndarray中元素的类型转换 ndarray的数学运算 index和切片 基本使用 index wit ...

  4. numpy中多维数组的绝对索引

    这涉及到吧多维数组映射为一维数组. 对于3维数组,有公式: def MAP(x,y,z): return y_s * z_s * x + z_s * y + z 此公式可以推广到N维 测试代码:(两个 ...

  5. NumPy 之 ndarray 多维数组初识

    why 回顾我的数据分析入门, 最开始时SPSS+EXCEL,正好15年初是上大一下的时候, 因为统计学的还蛮好的, SPSS傻瓜式操作,上手挺方便,可渐渐地发现,使用软件的最不好的地方是不够灵活, ...

  6. 一、Numpy库与多维数组

    # Author:Zhang Yuan import numpy as np '''重点摘录: 轴的索引axis=i可以理解成是根据[]层数来判断的,0表示[],1表示[[]]... Numpy广播的 ...

  7. python/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?

    Python中的list/tuple,numpy中的ndarrray与tensorflow中的tensor. 用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量 ...

  8. Python Numpy包安装

    1,下载python 下载地址: https://www.python.org/downloads/windows/ 2,配置python环境变量 在电脑的系统属性的系统变量path中添加python ...

  9. Python学习笔记_二维数组的查找判断

    在进行数据处理的工作中,有时只是通过一维的list和有一个Key,一个value组成的字典,仍无法满足使用,比如,有三列.或四列,个数由不太多. 举一个现实应用场景:学号.姓名.手机号,可以再加元素 ...

随机推荐

  1. Linux学习笔记-第16天 这些个配置参数好饶阿

    原理是懂了,但是配置参数好多阿,难道这些都要记么...呃

  2. 开发者必备Linux命令

    开发者必备Linux常用命令,掌握这些命令绝对够了,基于CenterOS7.6. 系统服务管理 systemctl 输出系统中各个服务的状态: systemctl list-units --type= ...

  3. Python爬取糗事百科示例代码

    参考链接:http://python.jobbole.com/81351/#comment-93968 主要参考自伯乐在线的内容,但是该链接博客下的源码部分的正则表达式部分应该是有问题,试了好几次,没 ...

  4. 【笔记】Java微服务之路(持续更新)

    微服务架构的说明: 微服务的架构风格是将一个单体的应用程序开发拆解为一组"小"的服务,这里的"小"是以业务边界 来区分的,而不是根据代码的多少区分.每个服务都运 ...

  5. golang实战--家庭收支记账软件(面向对象)

    首先是具体的目录结构: 其中myAccount.go中调用utils包中的函数:utils.go实现记账软件的一些相应的功能: myAccount.go package main import ( & ...

  6. lambda的用法

    关于lambda的用法: lambda的用法和def的用法基本相同.区别在于def可以用来定义简单和复杂的函数,而lambda主要用来定义简单的函数.下面通过两个例子来了解下: lambda 参数1, ...

  7. Mysql相关问题-----1045 Access denied for user 'root'@'localhost' (using password: YES)报错

    MySQL 连接错误,使用Navicat连接MySQL出现错误:1045 Access denied for user 'root'@'localhost' (using password: YES) ...

  8. 在 .NET Core 中使用异步的 ADO.NET 的简单示例

    直接贴代码: Program.cs using Microsoft.Extensions.Configuration; using System; using System.Data; using S ...

  9. Visual Studio 语法高亮插件推荐

    编辑器 GItHub:https://github.com/Art-Stea1th/Enhanced-Syntax-Highlighting Visual Studio Marketplace:htt ...

  10. Python学习之路 【目录】

           * Python之路[楔子]:PyCharm 专业版安装      * Python之路[第一篇]:Python简介和入门      * Python之路[第二篇]:Python基础(一 ...