1、矩阵内积
arr3 = np.array([[3,4],[5,2]])
arr2 = np.array([[2,3],[3,4]])
np.dot(arr3,arr2)
array([[18, 25], [16, 23]])
2、矩阵转置
- .T
arr
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])
arr.T
array([[ 0, 5, 10], [ 1, 6, 11], [ 2, 7, 12], [ 3, 8, 13], [ 4, 9, 14]])
- transpose
arr = np.arange(16).reshape((2,2,4))
arr
array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]])
arr.transpose((1,0,2))
array([[[ 0, 1, 2, 3], [ 8, 9, 10, 11]], [[ 4, 5, 6, 7], [12, 13, 14, 15]]])
那么现在参数变为(1,0,2),意思就是将x轴与y轴互换,简称换轴。
例如原本数字2的位置是(0,0,2),x轴和y轴互换,即0和0互换,置换轴之后还是(0,0,2)
原本数字8的位置是(1,0,0),置换轴之后为(0,1,0)
transpose方法是新生成一个数组
- swapaxes
还是上面的arr
arr.swapaxes(1,2)
array([[[ 0, 4], [ 1, 5], [ 2, 6], [ 3, 7]], [[ 8, 12], [ 9, 13], [10, 14], [11, 15]]])
swapaxes 类似于transpose,但只有两个参数,表示需要互换的两个轴,这里的(1,2)也等价于(2,1),表示y轴和z轴互换