nan
(numpy で定義されているように) 値を含む可能性のあるデータの論理式を評価しようとすると、驚くべき結果が得られます。
この結果がなぜ生じるのか、正しい方法で実装する方法を理解したいと思います。
私が理解していないのは、これらの式が値を評価する理由です。
from numpy import nan
nan and True
>>> True
# this is wrong.. I would expect to evaluate to nan
True and nan
>>> nan
# OK
nan and False
>>> False
# OK regardless the value of the first element
# the expression should evaluate to False
False and nan
>>> False
#ok
同様にor
:
True or nan
>>> True #OK
nan or True
>>> nan #wrong the expression is True
False or nan
>>> nan #OK
nan or False
>>> nan #OK
値も処理する正しいブール関数を (効率的な方法で) 実装するにはどうすればよいnan
ですか?