1
resposta

[Projeto] manipular os dados

import pandas as pd
import numpy as np

# 1. Carregando os dados
df_moveis = pd.read_json('moveis_disponiveis.json')

# 2. Preenchendo valores vazios (NaN)
# Substituímos por '0.0' conforme a sugestão, garantindo que não existam nulos
df_moveis['preco'] = df_moveis['preco'].fillna('0.0')

# 3. Limpeza da string
# Removemos o símbolo '$' e as vírgulas (caso existam como separador de milhar)
# Usamos regex=False para substituição direta de caracteres simples
df_moveis['preco'] = df_moveis['preco'].str.replace('$', '', regex=False).str.replace(',', '', regex=False)

# 4. Conversão para float64
df_moveis['preco'] = df_moveis['preco'].astype(np.float64)

# Verificando o resultado
print(df_moveis.info())
print(df_moveis['preco'].head())
1 resposta

Olá, Moacir! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o pandas para realizar a limpeza dos dados com Python, utilizou muito bem a função fillna() para tratar valores nulos e ainda compreendeu a importância da conversão de tipos para garantir consistência nas análises numéricas.

Uma dica interessante para o futuro é aplicar o método to_numeric() do pandas, que permite converter colunas para valores numéricos de forma mais flexível, tratando automaticamente erros de conversão. Assim:

df_moveis['preco'] = pd.to_numeric(df_moveis['preco'], errors='coerce').fillna(0.0)

Isso faz com que qualquer valor inválido seja transformado em NaN e, em seguida, substituído por 0.0.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!