2013-08-27 4 views
5

Это проблема, с которой я столкнулся, когда пишу код python для энтропии образца.Требуется более быстрый код python для вычисления энтропии образца.

map(max, abs(a[i]-a)) Очень медленно.

Есть ли какая-либо другая функция, которая работает лучше, чем map()?

Где a это ndarray, который выглядит как np.array([ [1,2,3,4,5],[2,3,4,5,6],[3,4,5,3,2] ])

+1

Что 'Ā' здесь? И этот Python 2.x или 3.x ('map()' не то же самое в обоих)? – arshajii

+0

вы попробовали 'import speed'? Серьезно, хотя, что выглядит '' 'и что является требуемым выходом? – inspectorG4dget

+0

- 'a'' numpy.ndarray'? (вы можете проверить это: 'type (a)') ... –

ответ

6

Используйте Векторизованных макс

>>> map(max, abs(a[2]-a)) 
[3, 4, 0] 
>>> np.abs(a[2] - a).max(axis=1) 
array([3, 4, 0]) 
+0

Большое вам спасибо! –

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