静かなる名辞

pythonとプログラミングのこと

2019/03/22:TechAcademyがteratailの質問・回答を盗用していた件
2019/03/26:TechAcademy盗用事件 公式発表と深まる疑念



【python】bool(nan)とかnanをastype(bool)するとTrueになるので気をつけよう

なんのことなのか

 タイトルの通りです。いやまあ、確かにPythonの言語仕様上そうなんですが、釈然としない気も・・・

>>> import numpy as np
>>> bool(np.nan)
True
>>> np.array([np.nan]).astype(bool)
array([ True])

* なんで困るのか
 返り値がnanになりえる関数を使った後、astypeでboolにすればいいと思っているとハマります。

* なんてこった……
 nanとか面倒くさいので、タイムマシンがあったら仕様を考えた人に会いに行って、説得すると思います。