2
respostas

[Dúvida] Alterando o dtype da coluna 'preco'

Ola!

Na aula 'Convertendo dados numéricos' tentamos converter a coluna 'preco' para 'float64 com o seguinte código:

dados['preco'] = dados['preco'].astype(np.float64)

Durante a aula esse código apresenta um erro, mas para mim ele não apresentou erro.

Porém os valores da coluna 'preco' foram alterados. Por exemplo:

$110.00 para 10.0

Será que é porque estou fazendo através do Jupyter?

Obviamente não deixei essa linha de código ativa mas achei interessante saber o porque disso.

2 respostas

Olá, Pedro!

Parece que você está lidando com um problema comum na manipulação de dados. O que pode estar acontecendo é que os valores na sua coluna 'preco' podem estar sendo lidos como strings e não como números. Isso pode ocorrer se houver algum caractere não numérico nos dados, como o símbolo de dólar ($), por exemplo.

Ao tentar converter esses valores para 'float64', o Pandas pode estar interpretando o ponto como um delimitador de milhares, ao invés de um ponto decimal, o que resultaria em $110.00 sendo lido como 11000 e, consequentemente, convertido para 10.0.

Para resolver isso, você pode tentar remover quaisquer caracteres não numéricos antes de fazer a conversão. Aqui está um exemplo de como você pode fazer isso:

dados['preco'] = dados['preco'].str.replace('$', '').astype(np.float64)

Neste exemplo, estamos usando o método str.replace() para substituir o símbolo de dólar por nada (essencialmente removendo-o) antes de fazer a conversão para 'float64'.

Por favor, note que isso é apenas uma sugestão, e pode não funcionar perfeitamente dependendo dos seus dados específicos.

Espero ter ajudado e bons estudos!

Vou tentar sua sugestão.

Muito Obrigado!