Error de atributo resuelto 'Numpy.NDArray 'Object no tiene ningún atributo' Índice '

Error de atributo resuelto 'Numpy.NDArray 'Object no tiene ningún atributo' Índice '
Hay una muy estrecha similitud entre una lista de Python y una matriz numpy. Aunque la implementación puede diferir, coinciden en algunos casos.

Por lo tanto, puede tener la tentación de usar el método index () proporcionado en una lista de Python para obtener el índice de un elemento.

Error

Tomemos un ejemplo:

my_list = ['mysql', 'postgresql', 'mongodb', 'redis']
Impresión (F "índice: my_list.índice ('mongodb') ")

Tenemos una lista de Python que contiene elementos de cuatro cuerdas en el ejemplo anterior. Para encontrar el índice de un elemento en la lista, usamos la función index () y pasamos el valor que estamos buscando como parámetro.

Si se encuentra el elemento, la función debe devolver el índice del elemento en la lista. Una salida de ejemplo es como se muestra:

Índice: 2

¿Qué sucede cuando intentamos realizar la misma operación en una matriz Numpy??

# Importar Numpy
importar numpy como np
arr = np.Array (['mysql', 'PostgreSQL', 'MongoDB', 'Redis'])
Impresión (F "índice: arr.índice ('mongodb') ")

Si ejecutamos el código anterior, devolverá un error como se muestra a continuación:

El error del atributo ocurre cuando llamamos un atributo o método no definido para el objeto.

Dado que el método index () solo se define en una lista de Python y no en una matriz Numpy, el código anterior dará como resultado un error de atributo.

Solución

Si desea obtener el índice de un elemento de una matriz numpy, puede usar la función Where.

La sintaxis de la función es como se muestra a continuación:

numpy.donde (condición, [x, y,]/)

Podemos adoptar la función anterior para obtener el índice de un elemento como se muestra a continuación:

Imprimir (NP.donde (arr == 'MongoDB'))

La función debe devolver una tupla con el índice del elemento en la matriz.

Conclusión

Este artículo discutió el error de atributo en Python, por qué ocurre y cómo resolverlo en una matriz Numpy.

Gracias por leer!!