Cómo solucionarlo: el objeto ‘numpy.ndarray’ no tiene el atributo ‘index’

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *