最简单例子解释python的transpose函数

目录

  • 一,我们要弄清楚transpose的轴是什么意思?
  • 二,`(x,y,z)的物理含义`:
  • 三,transpose变换的例子
  • 四,代码验证
  • 五,关于经过了transpose变换之后,这个三维数组的形状是如何变化确定的?

二维数组的transpose就是矩阵的转置,这里直接略过。直接讨论三维情况。

一,我们要弄清楚transpose的轴是什么意思?

最简单例子解释python的transpose函数_第1张图片

0是代表了第一个轴,1是代表了第二个轴,2是代表了第三个轴,这里我们用x,y,z来分别代表轴,也就是说对于一个三维数组的坐标(0,1,2)是默认的(x,y,z).

二,(x,y,z)的物理含义:

在一个三维数组里面,x是表示这个三维数组有多少个二维数组,y是代表这个二维数组有几行,z是代表这个二维数组有几列。

三,transpose变换的例子

假设三维数组里面有一个数比如是888,他的坐标是(x1,y1,z1),经过transpose((2,1,0))变换,那么直接替换2,1,0对应的英文字母也就是z,y,x,也就是说经过transpose变换后,888这个数的坐标为(z1,y1,x1)
再举一个栗子,如果是transpose((1,2,0)),按照前面的英文字母的原则,也就是(x,y,z)->(y,z,x),那么888的坐标应该是在(y1,z1,x1)

四,代码验证

用代码举例子,以7为例子,也是照着上面的transpose((2,1,0))transpose((1,2,0))两个例子,7的坐标是(0,1,3),经过transpose((2,1,0))之后,也就是(x,y,z)->(z,y,x),也就是应该是(3,1,0),查看结果发现完全正确。

import numpy as np
a=np.arange(16).reshape(2,2,4)
print(a)
b=a.transpose(2,1,0)
print('b = ',b)

最简单例子解释python的transpose函数_第2张图片
第二个transpose((1,2,0)),(x,y,z)->(y,z,x),以7为例子,(0,1,3)->(1,3,0),预计坐标在(1,3,0),验证后发现完全正确!至此,这个问题算是哦了!over!
最简单例子解释python的transpose函数_第3张图片

五,关于经过了transpose变换之后,这个三维数组的形状是如何变化确定的?

以代码的例二为例子,三维数组形状是(x=2,y=2,z=4),然后经过了transpose(1,2,0)变换后,(x,y,z)->(y,z,x),所以形状变成了(2,4,2)

你可能感兴趣的:(pycharm,python,transpose,三维)