【Python学习】numpy之数组转置和轴交换的三种方式

Python中的numpy库对数组进行操作是非常方便的,在学习到使用numpy进行数组转置时遇到了一些问题,亲自动手操作后,对这个问题算是能够理解了。

  1. 1 首先是使用数组对象的T属性,对数组进行转置。简单的一维和二维数组比较好理解,无非就是线性代数中的行列相互交换。对于高维数组的转置看如下具体操作:
import numpy as np
a = np.arange(12).reshape(2, 2, 3)
print(a)

创建一个三维矩阵,由2个2*3的矩阵块组成。

output:

[[[ 0  1  2]
  [ 3  4  5]]

 [[ 6  7  8]
  [ 9 10 11]]]

其中每个元素都有其唯一的坐标(x,y,z),例如0:【0,0,0】,1:【0,0,1】。。。。11:【1,1,2】。此时对a进行转置看看结果:

print(a.T)

output:

[[[ 0  6]
  [ 3  9]]

 [[ 1  7]
  [ 4 10]]

 [[ 2  8]
  [ 5 11]]]

a数组变成了3*2*2的了,再看一下各个元素的坐标可以发现0:【0,0,0】,1:【1,0,0】。。。。。11:【2,1,1】,每个元素坐标的x和相互交换了位置。其实该T操作等同于后面两种方法a.transpose(2,1,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值