数组的转置和换轴
数组的转置拥有T和transpose方法,其中后者可以接收包含轴编号的元组,值得注意的是转置和换轴操作返回的是原数组的视图而非拷贝
In [17]: arr = np.arange(15).reshape(3,5)
In [18]: arr
Out[18]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
In [19]: arr.T #行列交换 即原来的arr[1,2]变成arr[2,1]
Out[19]:
array([[ 0, 5, 10],
[ 1, 6, 11],
[ 2, 7, 12],
[ 3, 8, 13],
[ 4, 9, 14]])
transpose方法支持指定轴的转置
In [20]: arr = np.arange(16).reshape(2,2,4)
In [21]: arr
Out[21]:
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
In [23]: arr.transpose((1,0,2))#原来是(2,2,4)数组 交换0维和1维后任然是(2,2,4),区别在于原来的(x,y,z)经过变换后是(y,x,z)。
比如原来arr[0,1,2]=7,经过变换后7对应[1,0,2]
Out[23]:
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],
[12