Como corrigir: o objeto ‘numpy.ndarray’ não possui o atributo ‘append’
Um erro que você pode encontrar ao usar o NumPy é:
AttributeError: 'numpy.ndarray' object has no attribute 'append'
Este erro ocorre quando você tenta anexar um ou mais valores ao final de um array NumPy usando a função padrão append() do Python.
Como o NumPy não possui um atributo de acréscimo, um erro é gerado. Para corrigir isso, você deve usar np.append() .
O exemplo a seguir mostra como corrigir esse erro na prática.
Como reproduzir o erro
Suponha que estejamos tentando adicionar um novo valor ao final de um array NumPy usando a função padrão Python append() :
import numpy as np #define NumPy array x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23]) #attempt to add the value '25' to end of NumPy array x. append (25) AttributeError: 'numpy.ndarray' object has no attribute 'append'
Recebemos um erro porque o NumPy não possui um atributo de acréscimo.
Como corrigir o erro
Para corrigir esse erro, simplesmente precisamos usar np.append() :
import numpy as np #define NumPy array x = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23]) #append the value '25' to end of NumPy array x = np. append (x, 25) #view updated array x array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25])
Usando np.append() adicionamos com sucesso o valor “25” ao final do array.
Observe que se você deseja adicionar um array NumPy ao final de outro array NumPy, é melhor usar a função np.concatenate() :
import numpy as np
#define two NumPy arrays
a = np. array ([1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23])
b = np. array ([25, 26, 26, 29])
#concatenate two arrays together
c = np. concatenate ((a, b))
#view resulting array
vs
array([ 1, 4, 4, 6, 7, 12, 13, 16, 19, 22, 23, 25, 26, 26, 29])
Consulte a documentação online para obter uma explicação detalhada das funções de array e concatenação:
Recursos adicionais
Os tutoriais a seguir explicam como corrigir outros erros comuns em Python:
Como corrigir: Nenhum módulo chamado pandas
Como corrigir: nenhum módulo chamado numpy
Como corrigir: as colunas se sobrepõem, mas nenhum sufixo é especificado