Erreur d'attribut résolu «Numpy.L'objet ndarray 'n'a pas d'attribut' index '

Erreur d'attribut résolu «Numpy.L'objet ndarray 'n'a pas d'attribut' index '
Il y a une similitude très étroite entre une liste de python et un tableau Numpy. Bien que la mise en œuvre puisse différer, ils coïncident dans certains cas.

Par conséquent, vous pouvez être tenté d'utiliser la méthode index () fournie dans une liste Python pour obtenir l'index d'un élément.

Erreur

Prenons un exemple:

my_list = ['mysql', 'postgresql', 'mongodb', 'redis']
print (f "index: my_list.index ('mongodb') ")

Nous avons une liste Python contenant des éléments à quatre cordes dans l'exemple ci-dessus. Pour trouver l'index d'un élément dans la liste, nous utilisons la fonction index () et passons la valeur que nous recherchons comme paramètre.

Si l'élément est trouvé, la fonction doit renvoyer l'index de l'élément dans la liste. Un exemple de sortie est comme indiqué:

Index: 2

Que se passe-t-il lorsque nous essayons d'effectuer la même opération sur un tableau Numpy?

# Importer Numpy
Importer Numpy comme NP
arr = np.Array ([«mysql», «postgresql», «mongodb», «redis»])
print (f "index: arr.index ('mongodb') ")

Si nous exécutons le code ci-dessus, il renverra une erreur comme indiqué ci-dessous:

L'erreur d'attribut se produit lorsque nous appelons un attribut ou une méthode non définie pour l'objet.

Étant donné que la méthode index () n'est définie que dans une liste Python et non dans un tableau Numpy, le code ci-dessus entraînera une erreur d'attribut.

Solution

Si vous souhaitez obtenir l'index d'un élément à partir d'un tableau Numpy, vous pouvez utiliser la fonction où.

La syntaxe de fonction est comme indiqué ci-dessous:

nombant.où (condition, [x, y,] /)

Nous pouvons adopter la fonction ci-dessus pour obtenir l'index d'un élément comme indiqué ci-dessous:

Imprimer (NP.où (arr == 'mongodb'))

La fonction doit renvoyer un tuple avec l'index de l'élément dans le tableau.

Conclusion

Cet article a discuté de l'erreur d'attribut dans Python, pourquoi elle se produit, et comment la résoudre dans un tableau Numpy.

Merci d'avoir lu!!