Nếu bạn chỉ muốn đảo ngược nó:
brr[:] = brr[::-1]
Trên thực tế, điều này đảo ngược dọc theo trục 0. Bạn cũng có thể trở lại vào bất kỳ trục khác, nếu mảng có nhiều hơn một.
Để sắp xếp theo thứ tự ngược:
>>> 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])
hay, sử dụng 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])
Nguồn
2013-02-14 12:57:06
sắp xếp hoặc đảo ngược? –
bạn đang mong đợi 'reverse()' làm gì? – NPE
Không giải quyết được vấn đề của bạn, nhưng để làm cho mã của bạn trở nên gọn gàng hơn và hiệu quả hơn, bạn có thể sử dụng 'arr.size' thay vì' arr.shape [0] * arr.shape [1] '. – Junuxx