Fonctionnalité «isnotnan» dans numpy, cela peut-il être plus pythonique?

J’ai besoin d’une fonction qui renvoie des valeurs non-NaN à partir d’un tableau. Actuellement je le fais de cette façon:

>>> a = np.array([np.nan, 1, 2]) >>> a array([ NaN, 1., 2.]) >>> np.invert(np.isnan(a)) array([False, True, True], dtype=bool) >>> a[np.invert(np.isnan(a))] array([ 1., 2.]) 

Python: 2.6.4 numpy: 1.3.0

S’il vous plaît partager si vous connaissez une meilleure façon, Merci

 a = a[~np.isnan(a)] 

Vous êtes actuellement en train de tester tout ce qui n’est pas NaN et mtrw a le bon moyen de le faire. Si vous souhaitez tester des nombres finis (n’est pas NaN et n’est pas INF), vous n’avez pas besoin d’inversion et vous pouvez utiliser:

 np.isfinite(a) 

Plus pythonique et natif, une lecture facile, et souvent quand vous voulez éviter NaN, vous voulez aussi éviter INF dans mon expérience.

Je pensais juste que je jetterais ça là-bas pour les gens.