The function argsort()returns an index matrix that can be used to index the original array so that the result matches the sort()result.
Is there any way to apply these indexes? I have two arrays: one is the array used to get the sort order, and the other is some related data.
I would like to calculate assoc_data[array1.argsort()], but this does not work.
Here is an example:
z=array([1,2,3,4,5,6,7])
z2=array([z,z*z-7])
i=z2.argsort()
z2=array([[ 1, 2, 3, 4, 5, 6, 7],
[-6, -3, 2, 9, 18, 29, 42]])
i =array([[1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1]])
I would like to apply to z2 (or another array with related data), but I'm not sure how to do this.