Почему RuntimeWarning
выбрасывается для сравнения с np.nan
(или math.nan
) только тогда, когда длина массива больше 1?
In [34]: np.array([np.nan]) > 0
Out[34]: array([False])
In [35]: np.array([np.nan, 5]) > 0
/usr/local/bin/ipython:1: RuntimeWarning: invalid value encountered in greater
#!/usr/local/opt/python/bin/python3.7
Out[35]: array([False, True])
Я ожидаю, что поведение будет согласованным,В np.greater
документах не упоминается поведение, характерное для nan
.Я отключил эти предупреждения с помощью np.seterr(invalid='ignore')
, но я не понимаю несоответствия.
Numpy 1.15.0, Python 3.7.0, IPython 6.5.0