numpy.rot90
numpy.rot90(a, k = 1, axes = (0, 1))
Функция rot90() поворачивает массив на 90 градусов в плоскости указанных осей, при этом сам поворот осуществляется в направлении от первой оси ко второй.
-
- a - подобный массиву объект
- Массив NumPy или любой объект который может быть преобразован в массив NumPy, при этом входной массив должен иметь не менее двух измерений.
- k - целое число (необязательный)
- Определяет количество поворотов,
k = 1
(по умолчанию) соответствует повороту на 90 градусов,k = 2
соответствует 180 градусам и т.д. - axes - подобный массиву объект (необязательный)
- Последовательность из двух целых чисел - номеров осей которые определяют плоскость вращения. Числа (оси) должны быть разными. По умолчанию
axes = (0, 1)
-
- ndarray - массив NumPy
- Представление повернутого массива
a
.
Замечание
Если указанные оси поменять местами то это изменит направление поворота, например, rot90(m, k = 1, axes = (1,0))
и rot90(m, k = 1, axes = (0,1))
будут вращать массив в разных направлениях. Использование в качестве параметра k
отрицательных чисел так же изменит направление поворота на противоположное.
Примеры
>>> import numpy as np
>>>
>>> a = np.array([[0,1,0],[2,0,3],[0,4,0]])
>>> a
array([[0, 1, 0],
[2, 0, 3],
[0, 4, 0]])
>>>
>>> # Поворот на 90 градусов против часовой стрелки
... np.rot90(a) # По умолчанию k = 1, axes = (0, 1)
array([[0, 3, 0],
[1, 0, 4],
[0, 2, 0]])
>>>
>>> # Поворот на 90 градусов по часовой стрелки
... np.rot90(a, k = -1) # Эквивалентно np.rot90(a, axes = (1, 0))
array([[0, 2, 0],
[4, 0, 1],
[0, 3, 0]])
>>>
>>>
>>> c = np.array([[1,2,3],[4,5,6]])
>>>
>>> c
array([[1, 2, 3],
[4, 5, 6]])
>>>
>>> # Вращение может приводить к изменению формы массива
... np.rot90(c)
array([[3, 6],
[2, 5],
[1, 4]])
>>>
>>>
>>> b = np.array([[[1,1],[2,2]],[[3,3],[4,4]]])
>>>
>>> b
array([[[1, 1],
[2, 2]],
[[3, 3],
[4, 4]]])
>>>
>>> np.rot90(b, k = 1, axes = (0, 1))
array([[[2, 2],
[4, 4]],
[[1, 1],
[3, 3]]])
>>>
>>> np.rot90(b, k = 1, axes = (0, 2))
array([[[1, 3],
[2, 4]],
[[1, 3],
[2, 4]]])
>>>
>>> np.rot90(b, k = 1, axes = (1, 2))
array([[[1, 2],
[1, 2]],
[[3, 4],
[3, 4]]])