numpy: aplicando argsort a um array
oargsort()
A função retorna uma matriz de índices que pode ser usada para indexar o array original para que o resultado corresponda aosort()
resultado.
Existe uma maneira de aplicar esses índices? Eu tenho duas matrizes, uma é a matriz usada para obter a ordem de classificação e outra é alguns dados associados.
Eu gostaria de computarassoc_data[array1.argsort()]
mas isso não parece funcionar.
Aqui está um exemplo:
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]])
Eu gostaria de aplicar i ao z2 (ou outro array com dados associados), mas não tenho certeza de como fazer isso.