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.

questionAnswers(5)

yourAnswerToTheQuestion