if Group[NN1,8] != 'nan' :
print("Group[NN1,8]",Group[NN1,8])
Group [NN1,8]的值是nan,因此我希望print命令不会执行。但是我的代码会执行。 结果是
`('Group[NN1,8]', nan)`.
无需打印。有什么不对吗?
答案 0 :(得分:4)
看起来你正在比较一个浮点数和一个永远不相等的字符串。
>>> float('nan')
nan
>>> 'nan'
'nan'
>>> float('nan') == 'nan'
False
在nan
的特殊情况下,它甚至不等于“本身”:
>>> x = float('nan')
>>> x == x
False
您可以改用:
>>> import math
>>> math.isnan(x)
True
答案 1 :(得分:1)
不是数字不等于任何值,包括nan。您需要使用!math.isnan().
>>> x = float('nan')
>>> x == x
False
>>> math.isnan(x)
True
答案 2 :(得分:1)
如果使用numpy,则还可以使用:
np.invert(np.isnan(ds_cor_y))
它的工作方式类似于isnotnan(),因此如果其值为nan,则返回TRUE。