[Numpy-discussion] sort descending with NaNs
Charles R Harris
charlesr.harris at gmail.com
Thu Jan 27 12:17:54 EST 2011
On Thu, Jan 27, 2011 at 10:10 AM, Charles R Harris <
charlesr.harris at gmail.com> wrote:
> On Thu, Jan 27, 2011 at 9:50 AM, Fabrizio Pollastri <f.pollastri at inrim.it>wrote:
>> when one has to find a given number of highest values in an array
>> NaNs, the sort function (always ascending) is uncomfortable.
>> Since numpy >= 1.4.0 NaNs are sorted to the end, so the searched values
>> are just
>> before the first NaN in a unpredictable position and one has to do another
>> search for the first NaN position.
>> Sorting descending will solve the problem, but there is no option with
>> sort. There is any other trick to avoid this second search?
> If you just want to reverse the result, try a[::-1]. I think you may still
> need to find the boundaries of the nan's just to make sure they aren't
> included among the largest values. Searchsorted is pretty quick in any case.
To sort in descending order sort the negatives, i.e.
In : -sort(-array((0,1,2,3,4,nan)))
Out: array([ 4., 3., 2., 1., 0., nan])
I still think a.searchsorted(nan) would be faster.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion