Quiero obtener el índice del valor mínimo de una matriz que contiene numpy NaNs y quiero que ignoran¿Hay una mejor manera de hacer numpy.argmin() ignorar los valores NaN
>>> a = array([ nan, 2.5, 3., nan, 4., 5.])
>>> a
array([ NaN, 2.5, 3. , NaN, 4. , 5. ])
si funciono argmin, devuelve el índice de la primera NaN
>>> a.argmin()
0
sustituyo NaNs con Infs y luego ejecutar argmin
>>> a[isnan(a)] = Inf
>>> a
array([ Inf, 2.5, 3. , Inf, 4. , 5. ])
>>> a.argmin()
1
Mi dilema es el siguiente: Preferiría no cambiar NaNs a Infs y luego volver luego de haber terminado con argmin (ya que los NaN tienen un significado más adelante en el código). ¿Hay una mejor manera de hacer esto?
También hay una cuestión de ¿cuál debería ser el resultado si todos los valores originales de a son NaN? En mi implementación la respuesta es 0
Gracias ~ unutbu! –
No tienes idea de lo feliz que me siento. – weronika