Dra*_*ric 59 python arrays numpy nan
我需要一个从数组中返回非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.])
Run Code Online (Sandbox Code Playgroud)
Python:2.6.4 numpy:1.3.0
如果您有更好的方法,请分享,谢谢
Eze*_*ick 37
您目前正在测试任何非NaN的东西,而mtrw有正确的方法来执行此操作.如果您对测试有限数字感兴趣(不是NaN而不是INF)那么您不需要反演并且可以使用:
np.isfinite(a)
Run Code Online (Sandbox Code Playgroud)
更多pythonic和native,易读,通常当你想避免NaN时,你也想在我的经验中避免使用INF.
我以为我会把那些人扔给那些人.
归档时间: |
|
查看次数: |
55159 次 |
最近记录: |