¿Cómo puedo obtener la posición del elemento más grande en una matriz numpy multidimensional?Python: obtenga la posición del elemento más grande en una matriz numpy
Respuesta
El método argmax()
debería ayudar.
actualización
(Después de leer comentario) Creo que el método argmax()
funcionaría para las matrices multidimensionales también. La documentación vinculada da un ejemplo de esto:
>>> a = array([[10,50,30],[60,20,40]])
>>> maxindex = a.argmax()
>>> maxindex
3
Actualización 2
(Gracias a KennyTM 's comentario) Puede utilizar unravel_index(a.argmax(), a.shape)
para obtener el índice como una tupla:
>>> from numpy import unravel_index
>>> unravel_index(a.argmax(), a.shape)
(1, 0)
(Editar) Me refería a una respuesta anterior que se había eliminado. Y la respuesta aceptada vino después de la mía. Estoy de acuerdo en que argmax
es mejor que mi respuesta.
¿No sería más fácil de leer/intuitivo hacer esto?
numpy.nonzero(a.max() == a)
(array([1]), array([0]))
O
numpy.argwhere(a.max() == a)
innecesariamente lento, porque calcula el máximo y luego lo compara con todo a. unravel_index (a.argmax(), a.shape). – Peter
He votado a favor de esto porque no asume nada sobre el número de apariciones de a.max() en a. Mientras que a.argmax() devolverá la "primera" ocurrencia (que está mal definida en el caso de una matriz multidimensional ya que depende de la elección de la ruta transversal). https://docs.scipy.org/doc/numpy/reference/generated/numpy.argmax.html#numpy.argmax También creo que np.where() es una opción más natural/legible en lugar de np.nonzero(). – FizxMike
- 1. posición del elemento en la matriz
- 2. Encontrar la posición del elemento máximo
- 3. ¿Cómo "insertar" una pequeña matriz numpy en un bloque predefinido de una matriz numpy grande?
- 4. Python: configuración de un elemento de una matriz Numpy
- 5. R - posición de retorno del elemento en la matriz?
- 6. Grande en la matriz de discos para numpy
- 7. Java - Obtener posición del elemento en la matriz
- 8. envolviendo una matriz numpy en python
- 9. Encontrar la posición de un elemento en una matriz sencilla
- 10. ¿Encontrar la posición de un elemento en una matriz bidimensional?
- 11. Obtenga los índices originales de una matriz Numpy ordenada
- 12. Clasifique los elementos en una matriz usando Python/NumPy
- 13. Javascript - Obtener posición del elemento de la matriz
- 14. Número más grande y más pequeño en una matriz
- 15. ¿Ver en una matriz numpy?
- 16. Añadir solo elemento de matriz en numpy
- 17. La manera más eficiente de invertir una matriz numpy
- 18. Python (Numpy) matriz de clasificación
- 19. dibujar elemento aleatorio en numpy
- 20. Encuentra la sub matriz subnsa "más grande" en una gran matriz dispersa
- 21. Obtenga el valor del elemento JSON específico en Python
- 22. ¿Cómo llamar a un elemento en una matriz numpy?
- 23. Buscar posición de imagen dentro de una imagen más grande
- 24. Python/Numpy - Encuentre rápidamente el índice en una matriz más cercana a algún valor
- 25. una matriz grande en LaTeX
- 26. "pintar" una matriz en otra usando python/numpy
- 27. Guardar y cargar una matriz Numpy en python
- 28. la conversión de una lista de cadenas en una matriz numpy de una manera más rápida
- 29. Python - NumPy - tuplas como elementos de una matriz
- 30. ¿Qué significa matriz ** 2 en python/numpy?
pero tengo una matriz multidimensional. – kame
@kame: respuesta actualizada. Véase más arriba. –
Use 'unravel_index (a.argmax(), a.shape)' para obtener el índice como una tupla. – kennytm