Поиск максимального значения в 3D массиве
Есть трехмерный массив данных следующего плана:
[[[4 1 3]
[0 2 8]
[7 1 6]]
[[6 0 2]
[7 7 1]
[5 9 9]]
[[1 6 2]
[9 9 8]
[9 7 7]]]
На выходе хочу получить максимальное значение каждого двумерного массива. То есть числа 8, 9, 9.
Как перебрать это в цикле понятно, но есть ли способ сделать это с помощью NumPy, без использования явных циклов?
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь arr.max(axis=(1,2)).
Пример:
In [48]: np.random.seed(42)
In [49]: a = np.random.randint(100, size=(3,3,3))
In [50]: a
Out[50]:
array([[[51, 92, 14],
[71, 60, 20],
[82, 86, 74]],
[[74, 87, 99],
[23, 2, 21],
[52, 1, 87]],
[[29, 37, 1],
[63, 59, 20],
[32, 75, 57]]])
In [51]: a.max(axis=(1,2))
Out[51]: array([92, 99, 75])