У меня есть такой массив, и мне нужно заменить каждые 1 на 2, каждые 3 на 4, каждые 4 на 1. Есть ли способ сделать это только с помощью np, а не циклов?
import numpy as np
np.random.seed(2)
arr=np.random.randint(1,5,(3,3),int)
arr
array([[1, 4, 2],
[1, 3, 4],
[3, 4, 1]])
Если я последовательно использую маску массива, она не даст ожидаемого результата:
array([[2, 1, 2],
[2, 4, 1],
[4, 1, 2]])
Она основана на условных логах c, а не на математической формуле