Получить значение в позиции из всех слоев в Python - PullRequest
0 голосов
/ 02 октября 2019

У меня есть 3 массива numpy формы (224, 224, 20). Я хочу просмотреть каждое из (224, 224) значений во всех 20 слоях (измерениях) и сравнить их, чтобы получить самое высокое среди них. Для 3 Dimensional я могу придумать следующее:

arr1 = np.array([[[1,2,3],[4,5,6]],[[10,11,12],[15,16,17]]])
for x in range(0,2):                                                                                                            
       for y in range(0,2):                                                                                                            
             print(arr1[:,x,y])

Но я почему-то не мог понять, как преобразовать его для (224,224,20) фигурных массивов. Мне также нужен индекс слоя, который содержит максимальное значение.

Ответы [ 2 ]

2 голосов
/ 02 октября 2019

Чтобы получить максимальные значения по одному измерению, вы можете использовать numpy.amax, оформить заказ:

https://docs.scipy.org/doc/numpy/reference/generated/numpy.amax.html

1 голос
/ 02 октября 2019

Вы можете сделать это с помощью numpy.max вместо цикла for:

https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.max.html

np.max(arr1, axis=2)

Чтобы получить индекс, используйте numpy.argmax

https://docs.scipy.org/doc/numpy/reference/generated/numpy.argmax.html

np.argmax(arr1, axis=2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...