Python: sorting an array with other array elements as keys?

import numpy as np x = np.array(range(10 * 30)).reshape(100, 3) y = np.array(range(1010, 10, -10)) res = sorted(x, key = lambda y:y) #ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() res = sorted(x, key=y) #TypeError: 'tuple' object is not callable 
+4
source share
1 answer

Try argsort:

 import numpy as np x = np.array(range(10 * 30)).reshape(100, 3) y = np.array(range(1010, 10, -10)) args = y.argsort(axis = 0) print x[args] 
+2
source

Source: https://habr.com/ru/post/1341454/


All Articles