当将 NumPy Not-a-Number 值转换为 bool 值时,它变为 True,例如如下。
>>> import numpy as np
>>> bool(np.nan)
True
这与我的直觉预期完全相反。这种行为背后是否有合理的原则?
(我怀疑在 Octave 中可能会出现相同的行为。)
最佳答案
这绝不是 NumPy 特有的,但与 Python 处理 NaN 的方式一致:
In [1]: bool(float('nan'))
Out[1]: True
规则在 documentation 中有详细说明。 .
我认为有理由认为 NaN 的真值应该是 False。但是,这不是该语言目前的工作方式。
关于python - 为什么在 Python/Numpy 中将 "Not a Number"值转换为 bool 值时等于 True?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15686318/