El objeto ‘numpy.ndarray’ no tiene atributo ‘index’ es un error de atributo que indica que no hay ningún método de índice o atributo disponible para usar en la array Numpy .
Este error ocurre cuando intentamos encontrar el índice de un elemento en particular en una array Numpy utilizando el método de índice. El siguiente código es un ejemplo cuando ese objeto ‘numpy.ndarray’ no tiene un atributo de error ‘index’ que se puede lanzar
Ejemplo :
Python3
# import necessary packages import numpy as np # Create a Numpy array numbers = np.array([0, 1, 2, 9, 8, 0]) # finding the index value of 9 in # numbers array numbers.index(9)
Producción
Como no hay un método llamado índice en Numpy, arroja un error de atributo.
Solución
Para corregir este error en lugar de usar el método index para encontrar el índice de un elemento, use el método where que devuelve una array que consta de índices de un elemento específico .
Sintaxis
Numpy.where(arrayName==value_to_find_index)
Ejemplo 1:
Especifique un elemento en el método where que existe en una array Numpy
Python3
# import necessary packages import numpy as np # Create a Numpy array numbers = np.array([0, 1, 2, 9, 8, 0]) # finding the index value of 9 in # numbers array np.where(numbers == 9)
Producción
(array([3], dtype=int64),)
Como los índices en la array comienzan desde 0, aquí en la array de números, el índice 0 consta del valor 0 , el índice 1 tiene el valor 1 , el índice 2 tiene el valor 2 y el índice 3 tiene el valor 9 que se especifica, por lo que devolvió una array que contiene un valor 3.
Ejemplo 2:
Especifique un elemento en el método where de modo que el elemento que especificamos se produzca más de una vez en una array.
Python3
# import necessary packages import numpy as np # Create a Numpy array numbers = np.array([0, 1, 2, 9, 8, 0]) # finding the index values of 0 in # numbers array np.where(numbers == 0)
Producción:
(array([0, 5], dtype=int64),)
Como el elemento 0 ocurrió 2 veces en la array de números en el índice 0 y 5 , devuelve una array que consta de 2 valores de índice del elemento 0 .
Ejemplo 3:
Pase un elemento al método where que en realidad no está en una array.
Python3
# import necessary packages import numpy as np # Create a Numpy array numbers = np.array([0, 1, 2, 9, 8, 0]) # finding the index value of a number # which is not in numbers array np.where(numbers == 7)
Producción
(array([], dtype=int64),)
Si pasamos un elemento al método where que no está en una array , devuelve una array vacía porque no hay ningún elemento especificado en ningún índice de una array. Aquí 7 no está presente en la array de números, por lo que devolvió una array vacía .
Publicación traducida automáticamente
Artículo escrito por akhilvasabhaktula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA