在numpy的“isnotnan”功能,这会是更Python?
题
我需要一个函数,从一个数组返回非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)]
其他提示
您目前正在测试的东西,是不是楠mtrw必须做的正确方法。如果您有兴趣测试的有限数字(不楠是不是INF),那么你并不需要一个反转,并且可以使用:
np.isfinite(a)
更Python和本地,很容易看懂,而且往往当你想避免南你也想避免INF在我的经验。
只是想我会折腾的是那里的人。
不隶属于 StackOverflow