Python Numpy运行时警告与数组长度1不一致
为什么只有当数组长度大于1时才会抛出Python Numpy运行时警告与数组长度1不一致,python,numpy,Python,Numpy,为什么只有当数组长度大于1时才会抛出RuntimeWarning,以便与np.nan(或math.nan)进行比较 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/op
RuntimeWarning
,以便与np.nan
(或math.nan
)进行比较
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我收到了
np.array([np.nan])>0的运行时警告。这就是1.13.3
。非常奇怪。1.15.0中没有警告。诚然,这不是一个大问题。“wtf”的更多内容?在我希望找到答案的那一刻……有一些讨论,但看起来没有任何进展。您的确切观察结果也在numpy版本1.15.4中提出:在这两种情况下都会抛出RuntimeWarning。