Løst attributtfeil 'Numpy.Ndarray 'Object har ingen attributt' indeks '

Løst attributtfeil 'Numpy.Ndarray 'Object har ingen attributt' indeks '
Det er en veldig nær likhet mellom en Python -liste og en numpy matrise. Selv om implementeringen kan variere, sammenfaller de i noen tilfeller.

Derfor kan du bli fristet til å bruke indeksen () -metoden gitt i en Python -liste for å få indeksen til et element.

Feil

La oss ta et eksempel:

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

Vi har en Python-liste som inneholder firestrengelementer i eksemplet ovenfor. For å finne indeksen for et element på listen, bruker vi indeksen () -funksjonen og passerer verdien vi leter etter som parameter.

Hvis elementet er funnet, bør funksjonen returnere elementindeksen i listen. Et eksempelutgang er som vist:

Indeks: 2

Hva skjer når vi prøver å utføre den samme operasjonen på en numpy matrise?

# Importer numpy
Importer numpy som NP
arr = np.Array (['MySql', 'PostgreSql', 'Mongodb', 'Redis'])
Print (F "Index: arr.indeks ('mongodb') ")

Hvis vi kjører koden over, vil den returnere en feil som vist nedenfor:

Attributtfeilen oppstår når vi kaller en attributt eller metode som ikke er definert for objektet.

Siden indeksen () -metoden bare er definert i en Python -liste og ikke en numpy matrise, vil koden ovenfor resultere i en attributtfeil.

Løsning

Hvis du vil få indeksen over et element fra en numpy matrise, kan du bruke hvor funksjonen.

Funksjonssyntaks er som vist nedenfor:

numpy.hvor (tilstand, [x, y,]/)

Vi kan ta i bruk funksjonen ovenfor for å få indeksen over et element som vist nedenfor:

trykk (NP.hvor (arr == 'mongodb'))

Funksjonen skal returnere en tuple med elementets indeks i matrisen.

Konklusjon

Denne artikkelen diskuterte attributtfeilen i Python, hvorfor den oppstår, og hvordan du kan løse den i en numpy matrise.

Takk for at du leste!!