numpy中的“isnotnan”function,这可以更pythonic?
我需要一个从数组中返回非NaN值的函数。 目前我正在这样做:
>>> 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
请分享,如果你知道更好的方法,谢谢
a = a[~np.isnan(a)]
您目前正在testing任何不是NaN的东西,而mtrw有正确的方法来执行此操作。 如果你有兴趣testing有限数字(不是NaN,而不是INF),那么你不需要反演,可以使用:
np.isfinite(a)
更pythonic和原生,一个简单的阅读,往往当你想避免NaN你也想避免INF在我的经验。
只是以为我会把它扔给那里的人。