La función argsort()
devuelve una matriz de índices que se puede usar para indexar la matriz original para que el resultado coincida con el resultado sort()
.numpy: aplicar argsort a una matriz
¿Hay alguna manera de aplicar esos índices? Tengo dos matrices, una es la matriz utilizada para obtener el orden de clasificación y otra son algunos datos asociados.
Me gustaría calcular assoc_data[array1.argsort()]
pero eso no parece funcionar.
He aquí un ejemplo:
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]])
me gustaría aplicar i para Z2 (u otra matriz con los datos asociados), pero no estoy seguro de cómo hacerlo.
¿Qué eje desea ordenar? – user545424