2016-12-12 12 views

ответ

1

Один из вариантов: Вы можете перебрать массив и принять максимальное значение для каждого подпроекта массива:

[np.max(x) for x in t] 
# [6, 3, 7] 

пыльников вариант:

t.reshape(3,4).max(axis = 1) 
# array([6, 3, 7] 

Более простой метод является:

t.max(axis = (1,2)) 
# array([6, 3, 7]) 

Немного о знаке вышеупомянутые три метода:

%timeit [np.max(x) for x in t] 
# 100000 loops, best of 3: 10.9 µs per loop 

%timeit t.reshape(3,4).max(axis = 1) 
# 100000 loops, best of 3: 2.75 µs per loop 

%timeit t.max(axis = (1,2)) 
# 100000 loops, best of 3: 2.63 µs per loop 
+0

Это самый быстрый способ? –

+0

Какой из них самый быстрый? –

+0

См. Испытание временем выше. Натуральное решение numpy должно быть быстрее. – Psidom

 Смежные вопросы

  • Нет связанных вопросов^_^