数组的转置和轴对称(python)

1.什么叫轴?

	轴就是NumPy中的维度,比如二维数组中的行和列,三维数组中的的块、行、列,所指的就是维度
	轴也是有编号的,从零开始,在转置时,就是使用轴的编号就行转置
	轴的个数叫做秩,一个轴有几个元素,就代表有多长,也就是轴的数值

2.什么叫转置

	转置就是将数组中的每个元素按照规则进行位置的变换,也可以理解为把每个轴换一下位置

3.转置

3.1简单转置:像二位数组,只有两个轴,再怎么转置也只是两个轴进行位置交换,所以,直接使用T就可以了,例如:

import numpy as np

arr = np.arange(12).reshape(3,4)
print(arr)
print(arr.T)

运行结果如下:
运行结果图一
我们可以看到就是将数组进行了旋转,变成了四行三列。二维数组的比较好理解

3.2transpose()方法进行转置

这个主要用在二维数组以上的数组了,因为T很难满足现在的需求了,下面以三维数组为例:

import numpy as np

arr = np.arange(16).reshape((2,2,4))
print(arr)

我们上边说了,轴是有编号的,从零开始,所以我们现在创建的三维数组的轴有三个,编号为:0,1,2
所以在此时,编号0对应的就是2,编号1对应的就是2,编号2对应的就是4

print('================================')
print(arr.transpose(1,2,0))

这行代码中,transpose里填的参数就是轴的编号,原本数组中轴的编号应该是0,1,2 现在我们进行转置,变为1,2,0
那么的出来的数组就是下面的样子
代码结果图二
我们可以看到,数组由上边的样子变成了下边的样子,那么是怎么转置的呢?
简单的看,数组是从两块两行四列变成了两块四行两列,但是其中的元素是怎么变换的呢?
在例子中,这个三维数组中有两个二维数组,我们称之为二维1和二维2,那么二维数组中又有两个一维数组,就是相当于拆开再组合
将相同位置的一维数组中的元素组合成一行,第二个二维数组也是一样,那么我们这个例子就变成了我们想要的两块四行四列

3.3swapaxes()

在一些情况下,我们可能只需要对其中的两个轴进行转置,例子如下:

import numpy as np

arr = np.arange(16).reshape((2,2,4))
print(arr)
print(arr.swapaxes(1,0))

这里我们填了1和0,这里也是指的轴的编号,所以我们在这里就是将这个三维数组中的块和行进行转置,还是和我们上边说的类似,将对应的元素进行组合,就得到了我们下图的结果:
结果图三

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只会偷懒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值