Hi All,<br><br>I'm looking at ticket <a href="http://projects.scipy.org/numpy/ticket/1035#comment:4">#1025</a> with an eye to bringing it to completion but there some issues that need discussion. Currently there are three ways in which nans can be compared: maximum/minimum, fmax/fmin, or the new sort order. The maximum/minimum ufuncs propagate nans, i.e., they will always return a nan if one is present. The fmax/fmin ufuncs don't propagate nans, they ignore nans when possible. The new sort order sorts nans to the end, i.e., nans are treated as larger than any non-nan number; at present there are no ufuncs that correspond to the sort order. The issues I think need resolving are:<br>
<br>1) Should there be ufuncs corresponding to the sort order?<br>2) What should a.max(), a.argmax(), a.min(), and a.argmin() do?<br><br>I note that a.argmax() is not consistent with a.max() at the moment:<br><br><span style="font-family: courier new,monospace;">In [9]: a</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Out[9]: array([  0.,   1.,   2.,   3.,  NaN,   5.,   6.,   7.,  NaN,  NaN])</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">In [10]: a.argmax()</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Out[10]: 7</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">In [11]: a.max()</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Out[11]: nan</span><br>
<br>Thoughts?<br><br>Chuck<br>