Я создал массив с размером 2 и формой (43, 64).Массив состоит из 2 с, 3 с, 4 с и 5 с.Теперь для каждого столбца массива я хочу поменять местами 5% всех 3 и сделать 4, и аналогично поменять местами 5% всех 5, чтобы сделать их двумя.Есть ли возможность сделать это?
Я нашел решения для замены всех 3 на 4 и всех 5 на 2, а также решения для замены первого и последнего элемента массива.Тем не менее, у меня нет начальной точки для обмена процентами элементов.
Я инициализирую свой массив с нужными размерами:
import numpy as np
array = np.zeros((43, 64))
Затем я создаю цикл для создания желаемого массива, который в результате будет:
[[2. 2. 2. ... 3. 5. 5.]
[5. 5. 3. ... 2. 5. 5.]
[4. 2. 4. ... 2. 3. 4.]
...
[2. 5. 4. ... 3. 5. 5.]
[4. 2. 3. ... 3. 5. 2.]
[3. 3. 2. ... 3. 3. 4.]]
ТеперьЯ хочу выбрать каждый столбец и обменять процент 3 с 4 и 5 с 2, но не знаю, как к этому приблизиться.
Я ожидаю, что выходной массив с тем же размером, что и раньше, просто поменял местами определенное количество значений, как показано.