Home › Fóruns › Fórum Machine Learning e Data Science com Python de A à Z › Atributos categóricos – OneHotEncoder
- Este tópico contém 7 respostas, 4 vozes e foi atualizado pela última vez 10 meses, 2 semanas atrás por
Denny Ceccon.
- AutorPosts
- 30 de junho de 2022 às 00:49 #35747
Lucas Machado
ParticipantePor volta do minuto 9, quando vou transformar a base de dados X_census para .toarray(), aparece esse erro:
x_census = onehotencoder_census.fit_transform(x_census).toarray()
—————————————————————————
AttributeError Traceback (most recent call last)
<ipython-input-115-18a2c3afda0e> in <module>()
—-> 1 x_census = onehotencoder_census.fit_transform(x_census).toarray()AttributeError: ‘numpy.ndarray’ object has no attribute ‘toarray’
30 de junho de 2022 às 09:58 #35757Fábio Spak
MestreOlá Lucas, verifique se você declarou o nome da variável corretamente, pois o correto é X_census.
Fabio
30 de junho de 2022 às 11:29 #35759Lucas Machado
Participantevou rever isso, porém no meu caso, fiz chamando de x_census mesmo.
8 de julho de 2022 às 11:52 #35850Lucas Machado
ParticipanteResolvido
11 de julho de 2022 às 22:10 #35893Marcos Rogerio Leandro
ParticipanteOlá Lucas
Estou com esse mesmo problema, minhas variaves estão corretas, quanto eu executo tudo de uma vez funciona normal, se eu executar apenas esse comando da esse mesmo erro.
Pode me ajudar, por favor?
Obrigado!
12 de julho de 2022 às 09:14 #35896Denny Ceccon
ModeradorMarcos, eu desconfio que isto está acontecendo porque o resultado do método
fit_transform
já é um array.Tenta simplesmente retirar o método
toarray()
do final da chamada do código.12 de julho de 2022 às 11:14 #35897Marcos Rogerio Leandro
ParticipanteOlá Denny,
Obrigado pela resposta,
Agora que você falou que o resultado do método fit_transform já é um array, acredito que entendi o que esta acontecendo, vou tentar explicar:
Quando eu executo tudo ou apenas o código X_census = onehotencoder_census.fit_transform(X_census).toarray() pela primeira vez funciona normalmente, se na sequência eu tentar executar o código novamente aparece o tal erro:
AttributeError: ‘numpy.ndarray’ object has no attribute ‘toarray’
Agora veja só, se eu executar novamente o código de criação da variável X_census X_census = base_census.iloc[:,0:14].values
e novamente executar o código em questão ele funciona normalmente.
Conclusão
Na primeira vez que executo o código X_census = onehotencoder_census.fit_transform(X_census).toarray() ele altera a variável
X_ census e converte ela para um array, quando eu tento executar apenas o código novamente ele vai tentar transformar e converter a variável X_ census já transformada e convertida em array, ai então apresenta o erro.
- Esta resposta foi modificada 10 meses, 2 semanas atrás por
Marcos Rogerio Leandro.
12 de julho de 2022 às 12:08 #35899Denny Ceccon
ModeradorÉ isso mesmo Marcos. Quando a gente atualiza uma variável, tem que tomar cuidado para criar ela de volta se quiser reexecutar alguma parte do código.
- Esta resposta foi modificada 10 meses, 2 semanas atrás por
- AutorPosts
- Você deve fazer login para responder a este tópico.