天天看點

4.1 Numpy ndarray:多元數組對象(3)

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軸互換