Como corrigir: o objeto ‘numpy.ndarray’ não possui o atributo ‘index’


Um erro que você pode encontrar ao usar o NumPy é:

 AttributeError : 'numpy.ndarray' object has no attribute 'index'

Este erro ocorre quando você tenta usar a função index() em um array NumPy, para o qual nenhum atributo de índice está disponível.

O exemplo a seguir mostra como resolver esse erro na prática.

Como reproduzir o erro

Suponha que temos o seguinte array NumPy:

 import numpy as np

#create NumPy array
x = np. array ([4, 7, 3, 1, 5, 9, 9, 15, 9, 18])

Podemos usar a seguinte sintaxe para encontrar os valores mínimo e máximo no array:

 #find minimum and maximum values of array
min_val = np. min (x)
max_val = np. max (x)

#print minimum and maximum values
print (min_val, max_val)

1 18

Agora suponha que estamos tentando encontrar a posição do índice dos valores mínimo e máximo no array:

 #attempt to print index position of minimum value
x. index (min_val)

AttributeError : 'numpy.ndarray' object has no attribute 'index'

Recebemos um erro porque não podemos aplicar uma função index() a um array NumPy.

Como resolver o erro

Para encontrar a posição do índice dos valores mínimo e máximo no array NumPy, podemos usar a função NumPywhere () :

 #find index position of minimum value
n.p. where (x == min_val)

(array([3]),)

#find index position of maximum value
n.p. where (x == max_val)

(array([9]),)

Pelo resultado podemos ver:

  • O valor mínimo da matriz está localizado na posição 3 do índice.
  • O valor máximo da matriz está localizado na posição 9 do índice.

Podemos usar a mesma sintaxe geral para encontrar a posição do índice de qualquer valor em um array NumPy.

Por exemplo, podemos usar a seguinte sintaxe para descobrir quais posições de índice são iguais ao valor 9 na matriz NumPy:

 #find index positions that are equal to the value 9
n.p. where (x == 9 )

(array([5, 6, 8]),)

Pelo resultado, podemos ver que os valores nas posições de índice 5, 6 e 8 são todos iguais a 9 .

Recursos adicionais

Os tutoriais a seguir explicam como corrigir outros erros comuns em Python:

Como corrigir KeyError em Pandas
Como corrigir: ValueError: não é possível converter float NaN em int
Como corrigir: ValueError: os operandos não puderam ser transmitidos com formas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *