numpy.transpose

numpy.transpose(a, axes=None)

Функция transpose() транспонирует (меняет оси в обратном порядке) или перемещает оси массива в указанные положения.

Параметры:
a - массив Numpy
Массив ось которого должна быть перемещена.
axes - целое число или последовательность целых чисел (необязательный)
По умолчанию axes=None, что соответствует простому транспонированию. Если указана последовательность целых чисел, то оси будут расставлены в указанном последовательностью порядке.
Возвращает:
ndarray - массив NumPy
Массив оси которого переставлены в обратном (по умолчанию) или указанном порядке.
Смотрите так же: rollaxis, swapaxes, moveaxis.html

Замечание

Функция вернет сам входной массив, если он является одномерным. При этом функция не всегда возвращает представление исходного массива.


Примеры

>>> import numpy as np
>>> 
>>> a = np.arange(9).reshape(3, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> 
>>> np.transpose(a)
array([[0, 3, 6],
       [1, 4, 7],
       [2, 5, 8]])
>>> 
>>>
>>> b = np.arange(9)
>>> b
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> 
>>> np.transpose(b)
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> 
>>>
>>> c = np.arange(8).reshape(2, 2, 2)
>>> c
array([[[0, 1],
        [2, 3]],

       [[4, 5],
        [6, 7]]])
>>> 
>>> np.transpose(c)
array([[[0, 4],
        [2, 6]],

       [[1, 5],
        [3, 7]]])
>>> 
>>> d = np.ones((2, 3, 4, 5))
>>> 
>>> d.shape
(2, 3, 4, 5)
>>> 
>>> np.transpose(d).shape
(5, 4, 3, 2)
>>> 
>>> 
>>> d = np.ones((2, 3, 4, 5))
>>> 
>>> np.transpose(d, (3, 2, 1, 0)).shape
(5, 4, 3, 2)
>>> 
>>> np.transpose(d, (0, 2, 1, 3)).shape
(2, 4, 3, 5)