线性代数中,数组转置是矩阵操作中的一个常见概念,它涉及到行和列的互换
矩阵操作中,经常需要对矩阵进行转置,或者需要交换矩阵的轴
在numpy 中,数组的转置可以通过使用 .T 属性或者 numpy.transpose() 函数来实现
【.T】
.T会把数组的行和列进行交换,即交换0轴和1轴
例如:
import numpy as np
A = np.array([[1, 2, 3],
[4, 5, 6]])
B = A.T
print(B)
可以看到原矩阵A是一个2*3的矩阵,A.T返回一个3*2矩阵
对A的行和列做了交换
【transpose()函数】
numpy.transpose() 函数也可以实现转置
import numpy as np
A = np.array([[1, 2, 3],
[4, 5, 6]])
B = np.transpose(A)
print(B)
这个例子跟.T的效果一样
实际上,我们已经理解,数组转置实际上就是轴的交换
transpose()函数的优势在于高维数组的转置
它接受第二个参数(为元组),调整数组轴的排序
我们来看一个更复杂的例子
import numpy as np
A = np.arange(1,25)
A=A.reshape(2,3,4)
print(A)
B = np.transpose(A,(2,1,0))
print(B)
原本数组A是一个2*3*4的矩阵
数组B变成了一个4*3*2的矩阵
可以看到,transpose(A,(2,1,0))是把0轴和2轴进行了交换
元组(2,1,0)实际上定义了0轴、1轴、2轴的新顺序
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。