Функция rot90() поворачивает массив на 90 градусов в плоскости, заданной осями. Направление вращения — от первой ко второй оси. Массив из двух или более измерений. Сколько раз массив поворачивается на 90 градусов.
Что такое функция np.rot90() в Python?
np.rot90() — это библиотечная функция numpy, используемая в Python для поворота элементов массива на 90 градусов вдоль указанной оси. Функция rot90() принимает три параметра и возвращает повернутую версию массива input_array.
rot90() можно импортировать как import NumPy как np. Мы можем создавать многомерные массивы и получать другую математическую статистику с помощью Numpy, библиотеки на Python.
Синтаксис
|
1 |
numpy.rot90(input_array, k = 1, axes =(0, 1)) |
Параметры
- Input_array: отображает n-мерный массив, в котором должно выполняться вращение.
- k: представляет количество раз, которое мы хотим повернуть массив на 90 градусов.
- axes: изображает плоскость, вдоль которой мы хотим вращать массив.
Возвращаемое значение
Функция numpy rot90() возвращает повернутую версию input_array.
Примеры
- Напишем программу, показывающую работу функции rot90().
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 |
import numpy as np array = np.arange(12).reshape(3, 4) print("Original array : \n", array) # Rotating once print("\nRotated array : \n", np.rot90(array)) # Rotating twice print("\nRotated array : \n", np.rot90(array, 2)) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Original array : [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] Rotated array : [[ 3 7 11] [ 2 6 10] [ 1 5 9] [ 0 4 8]] Rotated array : [[11 10 9 8] [ 7 6 5 4] [ 3 2 1 0]] |
Объяснение.
В приведенном выше коде функция 1 использовалась для поворота массива на 90 градусов только один раз. Функция 2 использовалась для поворота массива на 90 градусов два раза.
- См. второй пример.
|
1 2 3 4 5 6 7 |
import numpy as np m = np.arange(8).reshape((2, 2, 2)) print("Original Array\n") print(m) print("Rotated Array\n") print(np.rot90(m, 1,(1, 2))) |
Выход:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Original Array [[[0 1] [2 3]] [[4 5] [6 7]]] Rotated Array [[[1 3] [0 2]] [[5 7] [4 6]]] |
Объяснение.
В приведенном выше коде функция вращала входной массив вдоль(1, 2) только один раз.
Примечание. numpy.rot90() возвращает представление. Поскольку представление разделяет память с исходным массивом, изменение одного значения приводит к изменению другого.
- Укажем количество раз для поворота: k.
Указав целочисленное значение для второго аргумента, k поворачивает массив на 90 градусов против часовой стрелки k раз. См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import numpy as np m = np.arange(8).reshape((2, 2, 2)) print("Original Array\n") print(m) print("Rotated Array\n") print(np.rot90(m, 10)) print("Rotated Array 2nd time\n") print(np.rot90(m, 11)) print("Rotated Array 3rd time\n") print(np.rot90(m, 21)) |
Выход:
|
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 |
Original Array [[[0 1] [2 3]] [[4 5] [6 7]]] Rotated Array [[[6 7] [4 5]] [[2 3] [0 1]]] Rotated Array 2nd time [[[4 5] [0 1]] [[6 7] [2 3]]] Rotated Array 3rd time [[[2 3] [6 7]] [[0 1] [4 5]]] |
