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!