Tengo una matriz de distancias a = np.array([20.5 ,5.3 ,60.7 ,3.0 ], 'double')
y necesito los índices de la matriz ordenada (por ejemplo [3, 1, 0, 2]
, para a.sort()
). ¿Hay una función en Numpy para hacer eso?Obtenga los índices originales de una matriz Numpy ordenada
30
A
Respuesta
43
Sí, existe la función x = numpy.argsort(a)
o el método x = numpy.ndarray.argsort(a)
. Hace exactamente lo que estás pidiendo. También puede llamar al argsort
como un método en un objeto ndarray
como lo siguiente: a.argsort()
.
Aquí hay un enlace a la documentación: http://docs.scipy.org/doc/numpy/reference/generated/numpy.argsort.html#numpy.argsort
1
He aquí un ejemplo, para referencia y conveniencia:
# create an array
a = np.array([5,2,3])
# np.sort - returns the array, sorted
np.sort(a)
>>> array([2, 3, 5])
# argsort - returns the original indexes of the sorted array
np.argsort(a)
>>> array([1, 2, 0])
Cuestiones relacionadas
- 1. Shift todos los índices en array NumPy
- 2. Obtenga sumas ordenadas de una lista ordenada
- 3. matriz java para ordenar: forma rápida de obtener una lista ordenada de los índices de una matriz
- 4. Argmax de matriz numpy que devuelve índices no planos
- 5. Javascript: Ordenar matriz y devolver una matriz de índices del que indica la posición de los elementos ordenados con respecto a los elementos originales
- 6. ¿Puedo obtener una vista de una matriz numpy en índices especificados? (una vista de "indexación sofisticada")
- 7. Buscar índices de una lista de valores en una matriz numpy
- 8. numpy: aplicar argsort a una matriz
- 9. Obtenga los índices de las filas seleccionadas en GridView
- 10. Obtener los índices de una matriz después de la clasificación?
- 11. función numpy para fijar elementos de matriz a un valor dado una lista de índices
- 12. ¿Ver en una matriz numpy?
- 13. Manteniendo una matriz ordenada en PHP
- 14. Insertar Perl en una matriz ordenada
- 15. ¿Qué es una matriz ordenada circularmente?
- 16. ¿Cómo buscar eficientemente en una matriz ordenada?
- 17. Buscar valores múltiples dentro de una matriz Numpy
- 18. ¿Sumar de manera eficiente una matriz numpy pequeña, transmitida a través de una matriz numpy descomunal?
- 19. sustitución rápida de los valores en una matriz numpy
- 20. Cómo truncar los valores de una matriz numpy 2D
- 21. Cómo analizar una matriz numpy?
- 22. interactuando sobre una matriz numpy
- 23. Suma una fila de una matriz NumPy
- 24. Matriz de índices para una matriz de rangos
- 25. Ordenar una matriz numpy como una mesa
- 26. Autocorrelación de una matriz multidimensional en numpy
- 27. ¿Cómo "insertar" una pequeña matriz numpy en un bloque predefinido de una matriz numpy grande?
- 28. Clasifique los elementos en una matriz usando Python/NumPy
- 29. ¿Cómo seleccionar los elementos por filas desde una matriz NumPy?
- 30. Scipy interpolación en una matriz de numpy