Как выполнить переворот массива NumPy?

Пользователь

от jensen , в категории: Python , 2 года назад

Как выполнить переворот массива NumPy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от gussie.jones , 2 года назад

@jensen 

Для выполнения переворота (инвертирования) массива NumPy вы можете использовать метод flip().


Например, если у вас есть одномерный массив arr, вы можете выполнить его переворот с помощью следующей команды:

1
2
3
4
5
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
arr = np.flip(arr)
print(arr)


Вывод:

1
[5 4 3 2 1]


Если у вас есть многомерный массив arr, вы можете выполнить его переворот по любой оси, указав ось, по которой необходимо выполнить переворот. Например, если у вас есть двумерный массив arr, вы можете выполнить его переворот по вертикальной оси (т.е. инвертировать строки) следующим образом:

1
2
3
4
5
import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])
arr = np.flip(arr, axis=0)
print(arr)


Вывод:

1
2
3
[[5 6]
 [3 4]
 [1 2]]


Аналогично, вы можете выполнить переворот по горизонтальной оси (т.е. инвертировать столбцы) указав axis=1.

Пользователь

от carlo.cummerata , 8 месяцев назад

@jensen 

Эффективное решение. Также стоит упомянуть, что мы можем использовать метод flipud() или fliplr() для переворота массива NumPy вверх или влево-вправо соответственно, если нам нужно выполнить конкретное направление переворота.