Перенос оси в NumPy
Функция moveaxis указывает,
какую ось взять и куда её поставить.
Отрицательный номер места считается
с конца формы, поэтому последняя
позиция удобно задаётся как
-1.
Создадим блок формы (2, 3, 4)
и перенесём первую ось в конец.
Выведем форму до переноса и после:
import numpy as np
block = np.arange(24).reshape(2, 3, 4)
print(block.shape) # выведет (2, 3, 4)
moved = np.moveaxis(block, 0, -1)
print(moved.shape) # выведет (3, 4, 2)
Бывшая первая ось стала последней, остальные оси сдвинулись вперёд без изменения порядка между собой. Перенос в середину формы устроен так же:
import numpy as np
cube = np.zeros((4, 2, 3))
print(cube.shape) # выведет (4, 2, 3)
moved = np.moveaxis(cube, 2, 0)
print(moved.shape) # выведет (3, 4, 2)
Создайте массив формы (2, 2, 5)
из единиц. Перенесите первую ось
в конец и выведите форму до
и после.
Создайте массив формы (3, 1, 4)
из чисел 7. Перенесите
третью ось на первое место
и выведите обе формы.