gpt4 book ai didi

python - 比较数组中的 np.nan 时 "less"中的无效值

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:36 25 4
gpt4 key购买 nike

观察

np.nan < 0

False

np.array([np.nan]) < 0

array([False], dtype=bool)

不过

np.array([-1, np.nan]) < 0
//anaconda/envs/3.5/lib/python3.5/site-packages/ipykernel/__main__.py:1: RuntimeWarning: invalid value encountered in less
if \__name\__ == '\__main\__':
array([ True, False], dtype=bool)

这个错误是什么意思?

最佳答案

这只是一个警告,不是异常。 Numpy 试图提供帮助并报告您有一个 nan在你的数组中。忽略它是安全的。如果警告本身困扰您(或您的用户),您可以抑制它:

with np.errstate(invalid='ignore'):
np.less([np.nan, 0], 1)

但是,确实不推荐这样做,因为如果您需要找到 nan 的位置,它会掩盖不太明显的问题并使调试变得更加困难。来自于冗长的计算。

注意 nan 的语义: nan > 0 , nan < 0nan < nan , nan == nan都是False .

另请注意,在 numpy 中(与 pandas 不同)nan真正的意思是无效而不是不可用

关于python - 比较数组中的 np.nan 时 "less"中的无效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40452765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com