Erro de atributo resolvido 'Numpy.ndarray 'objeto não tem atributo' índice '

Erro de atributo resolvido 'Numpy.ndarray 'objeto não tem atributo' índice '
Há uma semelhança muito próxima entre uma lista de Python e uma matriz numpy. Embora a implementação possa diferir, eles coincidem em alguns casos.

Portanto, você pode ser tentado a usar o método index () fornecido em uma lista de Python para obter o índice de um elemento.

Erro

Vamos dar um exemplo:

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

Temos uma lista de Python contendo elementos de quatro cordas no exemplo acima. Para encontrar o índice de um elemento na lista, usamos a função Index () e passamos o valor que procuramos como parâmetro.

Se o elemento for encontrado, a função deve retornar o índice do elemento na lista. Um exemplo de saída é como mostrado:

ÍNDICE: 2

O que acontece quando tentamos executar a mesma operação em uma matriz Numpy?

# importar numpy
importar numpy como np
arr = np.Array (['MySQL', 'PostGresql', 'MongoDB', 'Redis'])
print (f "Índice: ARR.Índice ('MongoDB') ")

Se executarmos o código acima, ele retornará um erro como mostrado abaixo:

O erro de atributo ocorre quando chamamos um atributo ou método não definido para o objeto.

Como o método index () é definido apenas em uma lista de Python e não em uma matriz Numpy, o código acima resultará em um erro de atributo.

Solução

Se você deseja obter o índice de um elemento de uma matriz Numpy, você pode usar a função onde.

A sintaxe da função é como mostrado abaixo:

Numpy.onde (condição, [x, y,]/)

Podemos adotar a função acima para obter o índice de um elemento, como mostrado abaixo:

Imprimir (NP.onde (arr == 'mongodb'))

A função deve retornar uma tupla com o índice do elemento na matriz.

Conclusão

Este artigo discutiu o erro de atributo em Python, por que ele ocorre e como resolvê -lo em uma matriz Numpy.

Obrigado pela leitura!!