In [19]: 1>float(‘nan’) Out[19]: False
In [20]: float('nan')>1
Out[20]: False
浮点数nan
不得大于或小于整数1
。 max
首先选择第一个元素,然后仅在找到严格更大的元素时才替换它。
In [31]: max(1,float('nan'))
Out[31]: 1
由于nan
不大于1,因此返回1。
In [32]: max(float('nan'),1)
Out[32]: nan
由于1不大于nan
,nan
因此返回。
PS。请注意,np.max
对待方式float('nan')
有所不同:
In [36]: import numpy as np
In [91]: np.max([1,float('nan')])
Out[91]: nan
In [92]: np.max([float('nan'),1])
Out[92]: nan
但是,如果您想忽略np.nan
s,则可以使用np.nanmax
:
In [93]: np.nanmax([1,float('nan')])
Out[93]: 1.0
In [94]: np.nanmax([float('nan'),1])
Out[94]: 1.0