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"