以多维数组为例,如:(2, 2, 4)表示 2个2X4矩阵,可以理解为(2[0], 2[1], 2[2]),其中[0]表示0轴。
import numpy as np arr=np.arange(16).reshape(2,2,4) array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]])
1、transpose(1,0,2):表示将(2[0], 2[1], 2[2])转换为(2[1], 2[0], 2[2])。简单理解就是,将不同位置元素替换掉。
比如:arr[0, 0, 0],第一位和第二位转换后,仍是arr[0, 0, 0]。arr[0 , 1, 0] = 4, 转换后为 arr[1, 0, 0] = 8。同理arr[1, 0 , 0]转换为 arr[0, 1, 0]。此次类推。
arr.transpose(1,0,2) array([[[ 0, 1, 2, 3], [ 8, 9, 10, 11]], [[ 4, 5, 6, 7], [12, 13, 14, 15]]])
2、T转置:表示整个顺序颠倒,(2[0], 2[1], 2[2])转换为(2[2], 2[1], 2[0])。相应的分析方法一样,就是内容替换。
arr.T array([[[ 0, 8], [ 4, 12]], [[ 1, 9], [ 5, 13]], [[ 2, 10], [ 6, 14]], [[ 3, 11], [ 7, 15]]]) arr.transpose(2,1,0) array([[[ 0, 8], [ 4, 12]], [[ 1, 9], [ 5, 13]], [[ 2, 10], [ 6, 14]], [[ 3, 11], [ 7, 15]]])
3、swapaxes方法:表示,将其中两个轴互换。
arr.swapaxes(1,2) array([[[ 0, 4], [ 1, 5], [ 2, 6], [ 3, 7]], [[ 8, 12], [ 9, 13], [10, 14], [11, 15]]]) arr.transpose(0,2,1) array([[[ 0, 4], [ 1, 5], [ 2, 6], [ 3, 7]], [[ 8, 12], [ 9, 13], [10, 14], [11, 15]]])以上就是对Numpy中T、transpose、swapaxes的一点学习。主要参考学习自利用python学习数据分析和http://blog.csdn.net/qq_18989901/article/details/73142472博文。