In [1]:
import numpy as np

In [2]:
arr = np.arange(50).reshape((10,5))

In [3]:
arr


Out[3]:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24],
       [25, 26, 27, 28, 29],
       [30, 31, 32, 33, 34],
       [35, 36, 37, 38, 39],
       [40, 41, 42, 43, 44],
       [45, 46, 47, 48, 49]])

In [4]:
arr.T


Out[4]:
array([[ 0,  5, 10, 15, 20, 25, 30, 35, 40, 45],
       [ 1,  6, 11, 16, 21, 26, 31, 36, 41, 46],
       [ 2,  7, 12, 17, 22, 27, 32, 37, 42, 47],
       [ 3,  8, 13, 18, 23, 28, 33, 38, 43, 48],
       [ 4,  9, 14, 19, 24, 29, 34, 39, 44, 49]])

In [5]:
np.dot(arr.T, arr)


Out[5]:
array([[7125, 7350, 7575, 7800, 8025],
       [7350, 7585, 7820, 8055, 8290],
       [7575, 7820, 8065, 8310, 8555],
       [7800, 8055, 8310, 8565, 8820],
       [8025, 8290, 8555, 8820, 9085]])

In [6]:
arr3d = np.arange(50).reshape((5,5,2))

In [7]:
arr3d


Out[7]:
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5],
        [ 6,  7],
        [ 8,  9]],

       [[10, 11],
        [12, 13],
        [14, 15],
        [16, 17],
        [18, 19]],

       [[20, 21],
        [22, 23],
        [24, 25],
        [26, 27],
        [28, 29]],

       [[30, 31],
        [32, 33],
        [34, 35],
        [36, 37],
        [38, 39]],

       [[40, 41],
        [42, 43],
        [44, 45],
        [46, 47],
        [48, 49]]])

In [8]:
arr3d.transpose((1,0,2))


Out[8]:
array([[[ 0,  1],
        [10, 11],
        [20, 21],
        [30, 31],
        [40, 41]],

       [[ 2,  3],
        [12, 13],
        [22, 23],
        [32, 33],
        [42, 43]],

       [[ 4,  5],
        [14, 15],
        [24, 25],
        [34, 35],
        [44, 45]],

       [[ 6,  7],
        [16, 17],
        [26, 27],
        [36, 37],
        [46, 47]],

       [[ 8,  9],
        [18, 19],
        [28, 29],
        [38, 39],
        [48, 49]]])

In [9]:
arr = np.array([[1,2,3]])

In [10]:
arr.swapaxes(0,1)


Out[10]:
array([[1],
       [2],
       [3]])

In [ ]: