आप इसे उल्टा करने के लिए करना चाहते हैं:
brr[:] = brr[::-1]
वास्तव में, यह, अक्ष 0. तुम भी किसी अन्य अक्ष पर वापस लौटने सकता है साथ पराजयों यदि सरणी एक से अधिक है।
उलटे क्रम में क्रमबद्ध करने के लिए:
>>> 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])
या, 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])
स्रोत
2013-02-14 12:57:06
सॉर्ट या रिवर्स? –
आप 'रिवर्स()' करने की क्या अपेक्षा कर रहे हैं? – NPE
आपकी समस्या का समाधान नहीं करता है, लेकिन आपके कोड को थोड़ा साफ और अधिक कुशल बनाने के लिए आप 'arr.shape [0] * arr.shape [1]' के बजाय 'arr.size' का उपयोग कर सकते हैं। – Junuxx