Как перевернуть массив в numpy?

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

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

Как перевернуть массив в numpy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от quinton.prosacco , 2 года назад

@amber_moore 

Вы можете использовать функцию numpy.flip для переворота массива по одной из осей (по умолчанию по первой). Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])

# Переворачиваем по первой оси (строки)
b = np.flip(a, 0)
print(b)  # [[4, 5, 6], [1, 2, 3]]

# Переворачиваем по второй оси (столбцы)
c = np.flip(a, 1)
print(c)  # [[3, 2, 1], [6, 5, 4]]


Если вы хотите перевернуть массив по всем осям, вы можете сделать это с помощью метода numpy.flipud или функции numpy.flip. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])

# Переворачиваем по всем осям с помощью flipud
b = np.flipud(a)
print(b)  # [[4, 5, 6], [1, 2, 3]]

# Переворачиваем по всем осям с помощью flip
c = np.flip(a)
print(c)  # [[4, 5, 6], [1, 2, 3]]


Обратите внимание, что numpy.flipud переворачивает массив по первой оси (строки), а numpy.flip по всем осям.

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

от caterina , год назад

@amber_moore 

Вы можете использовать функцию np.flip для переворота массива в numpy. Функция принимает два аргумента: сам массив и ось, по которой нужно произвести переворот. Если ось не указана, то массив будет перевернут по всем осям.


Вот пример переворота массива по первой оси (строки):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])

# Перевернуть по первой оси (строкам)
b = np.flip(a, axis=0)
print(b)
# Вывод:
# [[4 5 6]
#  [1 2 3]]


В данном примере массив a был перевернут по оси 0, то есть по строкам.


Если вы хотите перевернуть массив по второй оси (столбцам), то нужно указать axis=1:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])

# Перевернуть по второй оси (столбцам)
c = np.flip(a, axis=1)
print(c)
# Вывод:
# [[3 2 1]
#  [6 5 4]]


В данном примере массив a был перевернут по оси 1, то есть по столбцам.


Если вам нужно перевернуть массив по всем осям, то просто вызовите функцию без указания оси:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])

# Перевернуть по всем осям
d = np.flip(a)
print(d)
# Вывод:
# [[6 5 4]
#  [3 2 1]]


В данном примере массив a был перевернут по всем осям, то есть и по строкам, и по столбцам.