2012-02-16 16 views
16

¿Hay una función numpy que da para un conjunto numpy dado su máximo valor mínimo, es decir numpy.max (a) - numpy.min (a)?¿Hay una función numpy max min?

p. Ej.

numpy.xxx([4,3,2, 6] = 4 since max = 6, min = 2, 6 - 4 = 2) 

Motivo: aumento de rendimiento desde max y min causarían el doble de la iteración de la matriz (que es en mi caso 7,5 millones o más números).

Respuesta

28

De hecho existe tal función - se llama numpy.ptp() para "pico a pico".

+7

+1 ... numpy debe extender sus nombres de funciones a 30 caracteres. Responder aquí sería mucho más rápido ... – eumiro

+0

Gracias ... Realmente no pude encontrarlo, pero estaba cerca (observando peaktopeak y otros). –

+0

Internamente, la función 'ptp' calcula el mínimo y el máximo por separado, por lo que esta solución aún se repite dos veces sobre el conjunto. Consulte [el código fuente de ptp] (https://github.com/numpy/numpy/blob/e7fe68ad3ce7f91cb152df49115f353ba9d75789/numpy/core/src/multiarray/calculation.c#L308) para obtener más información. – jochen

Cuestiones relacionadas