Хотите найти максимальное значение из каждого массива массивов

#arrays #python-3.x

#массивы #python-3.x

Вопрос:

Я хочу максимальное значение из каждого массива:

 [array([[0.64104085 0.2695865  0.12760413],
[0.20816632 0.72728643 0.23365428],[0.52334888 0.83298642 0.43656896], dtype=float32)]
  

вывод:

 [array([[0.64104085],[0.72728643],[0.83298642], dtype=float32)]
  

Мой код следующий:

 def find_max(arr):
    #find maximum value
    max_value = np.array([])
    for i, j in zip(arr,range(len(arr))):
        max_val = np.array(max(i))
        max_value = np.append(max_value, max_val)
    return[max_value]

import numpy as np
arr = np.random.rand(9).reshape(3,3)
print(arr)
find_max(arr)
  

Ответ №1:

Используя np.reshape

 res = np.max(a, axis=1).reshape(a.shape[0], -1)
  

Используя понимание списка

 res = np.array([[x] for x in np.max(a, axis=1)])
print(res)
  

Вывод:

 [[0.64104085]
 [0.72728643]
 [0.83298642]]
  

Комментарии:

1. Спасибо за любезный ответ, вывод вашего кода: [0.64104085 0.72728643 0.83298642] но я хочу [[0.64104085], [0.72728643], [0.83298642]] Заранее спасибо

2. да, я могу найти максимальное значение из каждого массива. но я хочу вывод в другой форме. что такое: [массив([[0.64104085],[0.72728643],[0.83298642], dtype=float32)]