Skip to content Skip to sidebar Skip to footer

Python, Numpy Sort Array

I'am using numpy and have an array (ndarray type) which contain some values. Shape of this array 1000x1500. I reshaped it brr = np.reshape(arr, arr.shape[0]*arr.shape[1]) when I

Solution 1:

If you just want to reverse it:

brr[:] = brr[::-1]

Actually, this reverses along axis 0. You could also revert on any other axis, if the array has more than one.

To sort in reverse order:

>>> arr = np.random.random((1000,1500))
>>> brr = np.reshape(arr, arr.shape[0]*arr.shape[1])
>>> brr.sort()
>>> brr = brr[::-1]
>>> brr
array([  9.99999960e-01,   9.99998167e-01,   9.99998114e-01, ...,
     3.79672182e-07,   3.23871190e-07,   8.34517810e-08])

or, using argsort:

>>> arr = np.random.random((1000,1500))
>>> brr = np.reshape(arr, arr.shape[0]*arr.shape[1])
>>> sort_indices = np.argsort(brr)[::-1]
>>> brr[:] = brr[sort_indices]
>>> brr
array([  9.99999849e-01,   9.99998950e-01,   9.99998762e-01, ...,
         1.16993050e-06,   1.68760770e-07,   6.58422260e-08])

Solution 2:

Try this for sorting in descending order ,

import numpy as np
a = np.array([1,3,4,5,6])
print -np.sort(-a)

Solution 3:

To sort a 1d array in descending order, pass reverse=True to sorted. As @Erik pointed out, sorted will first make a copy of the list and then sort it in reverse.

import numpy as np
import random
x = np.arange(0, 10)
x_sorted_reverse = sorted(x, reverse=True)

Post a Comment for "Python, Numpy Sort Array"