Obtenga índices de los principales valores de N en 2D numpy ndarray o numpy matrix

Tengo una matriz de vectores N-dimensionales.

data = np.array([[5, 6, 1], [2, 0, 8], [4, 9, 3]])

In [1]: data
Out[1]:
array([[5, 6, 1],
       [2, 0, 8],
       [4, 9, 3]])

Estoy usando sklearnpairwise_distances función para calcular una matriz de valores de distancia. Tenga en cuenta que esta matriz es simétrica respecto a la diagonal.

dists = pairwise_distances(data)

In [2]: dists
Out[2]:
array([[  0.        ,   9.69535971,   3.74165739],
       [  9.69535971,   0.        ,  10.48808848],
       [  3.74165739,  10.48808848,   0.        ]])

Necesito los índices correspondientes a los valores de N superiores en esta matrizdists, porque estos índices corresponderán a los índices por pares endata que representan vectores con las mayores distancias entre ellos.

He intentado hacernp.argmax(np.max(distances, axis=1)) para obtener el índice del valor máximo en cada fila, ynp.argmax(np.max(distances, axis=0)) para obtener el índice del valor máximo en cada columna, pero tenga en cuenta que:

In [3]: np.argmax(np.max(dists, axis=1))
Out[3]: 1

In [4]: np.argmax(np.max(dists, axis=0))
Out[4]: 1

y:

In [5]: dists[1, 1]
Out[5]: 0.0

Debido a que la matriz es simétrica respecto a la diagonal, y debido a que argmax devuelve el primer índice que encuentra con el valor máximo, termino con la celda en la diagonal en la fila y la columna que coinciden donde se almacenan los valores máximos, en lugar de la fila y columna de los valores superiores en sí.

En este punto, estoy seguro de que podría escribir más código para encontrar los valores que estoy buscando, pero seguramente hay una manera más fácil de hacer lo que estoy tratando de hacer. Entonces tengo dos preguntas que son más o menos equivalentes:

¿Cómo puedo encontrar los índices correspondientes a los valores superiores de N en una matriz?, o , ¿Cómo puedo encontrar los vectores con las N distancias por pares superiores de una matriz de vectores?

Respuestas a la pregunta(2)

Su respuesta a la pregunta