Auflösender Attributfehler 'Numpy.NDarray 'Objekt hat keinen Attribut' Index '

Auflösender Attributfehler 'Numpy.NDarray 'Objekt hat keinen Attribut' Index '
Es gibt eine sehr enge Ähnlichkeit zwischen einer Python -Liste und einem Numpy -Array. Obwohl sich die Implementierung unterscheiden kann, stimmen sie in einigen Fällen überein.

Daher sind Sie möglicherweise versucht, die in einer Python -Liste bereitgestellte Index () -Methode zu verwenden, um den Index eines Elements zu erhalten.

Fehler

Nehmen wir ein Beispiel:

my_list = ['MySQL', 'postgreSql', 'mongoDB', 'Redis']
print (f "index: my_list.Index ('mongoDB') ")

Wir haben eine Python-Liste mit vier Saitenelementen im obigen Beispiel. Um den Index eines Elements in der Liste zu finden, verwenden wir die Funktion index () und übergeben den Wert, den wir als Parameter suchen.

Wenn das Element gefunden wird, sollte die Funktion den Elementindex in der Liste zurückgeben. Ein Beispielausgang ist wie gezeigt:

Index: 2

Was passiert, wenn wir versuchen, dieselbe Operation auf einem Numpy -Array durchzuführen?

# Numpy importieren
Numph als NP importieren
arr = np.Array (['MySQL', 'postgresql', 'MongoDB', 'Redis'])
print (f "Index: arr.Index ('mongoDB') ")

Wenn wir den obigen Code ausführen, wird ein Fehler wie unten gezeigt zurückgegeben:

Der Attributfehler tritt auf, wenn wir ein Attribut oder eine Methode aufrufen, die für das Objekt nicht definiert ist.

Da die Index () -Methode nur in einer Python -Liste und nicht in einem Numpy -Array definiert ist, führt der obige Code zu einem Attributfehler.

Lösung

Wenn Sie den Index eines Elements aus einem Numpy -Array erhalten möchten, können Sie die WO -Funktion verwenden.

Die Funktionssyntax ist wie unten gezeigt:

Numpy.wo (Zustand, [x, y,]/)

Wir können die obige Funktion übernehmen, um den Index eines Elements wie unten gezeigt zu erhalten:

drucken (np.WO (arr == 'mongoDB')))

Die Funktion sollte ein Tupel mit dem Index des Elements im Array zurückgeben.

Abschluss

In diesem Artikel wurde der Attributfehler in Python erörtert, warum er auftritt und wie man ihn in einem Numpy -Array beheben kann.

Danke fürs Lesen!!