“isnotnan”在numpy中的功能,会不会更像Python?

2024-06-28 06:03:24 发布

您现在位置: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 纽比:1.3.0

如果你知道更好的方法,请分享, 谢谢你


Tags: 方法函数falsetruenp数组nanarray
3条回答
a = a[~np.isnan(a)]

我不确定这到底是不是Python。。。

a = [i for i in a if i is not np.nan]

你目前正在测试的任何不是南航和地铁有正确的方式这样做。如果您对测试有限数感兴趣(不是NaN,也不是INF),那么您不需要求逆,可以使用:

np.isfinite(a)

更多的Python和土生土长,一个容易阅读,往往当你想避免你也要避免在我的经验中导。

我只是想把它扔给大家。

相关问题 更多 >