1
resposta

[Projeto] Desafio - trabalhando em outros contextos

Projeto 1

# Remover os dados em listas dentro do DataFrame

#colunas para remover os dados em listas
colunas = ['Cliente', 'Valor da compra']

#remover os dados em listas e expandindo em registros
dados = dados.explode(colunas).reset_index(drop = True)

# Verificar os tipos de dados

dados.info()

#Identificar colunas numéricas

#verificando quais caracteres precisam ser tratados na coluna valor da compra
dados['Valor da compra'].unique()

#importando numpy para auxiliar na conversão do tipo da coluna
import numpy as np

#substituindo R$ e , nos dados da coluna valor da compra
dados['Valor da compra'] = dados['Valor da compra'].apply(lambda elemento: elemento.replace('R$', '').replace(',','.').strip())

#convertendo o tipo da coluna para float
dados['Valor da compra'] = dados['Valor da compra'].astype(np.float64)

#checando os tipos dos dados novamente
dados.info()

Projeto 2

#Remover os dados em listas dentro do DataFrame

#colunas a terem os dados removidos da lista para registros
colunas = ['datas_combinadas_pagamento', 'datas_de_pagamento', 'valor_aluguel']

#removendo as listas e reiniciando o índice dos registros
dados = dados.explode(colunas).reset_index(drop = True)

#Verificar os tipos de dados
dados.info()

#Identificar colunas numéricas
dados['valor_aluguel'].unique()

#Transformar a coluna numérica para o tipo numérico

#importando numpy para auxiliar na conversão de tipo da coluna
import numpy as np

#tratando $ , reais nos dados da coluna valor_aluguel
dados['valor_aluguel'] = dados['valor_aluguel'].apply(lambda elemento: elemento.replace('$ ', '').replace(',', '.').replace(' reais', '').strip())

#convertendo a coluna valor_aluguel para float
dados['valor_aluguel'] = dados['valor_aluguel'].astype(np.float64)

#conferindo o tipo dos dados
dados.info()
1 resposta

Oi, Vinicius! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de ver como você estruturou bem o processo de transformação dos dados nos dois projetos. Você utilizou explode() para expandir listas em registros e depois tratou corretamente os valores monetários removendo símbolos como R$, vírgulas e espaços antes da conversão para float.

Continue assim!

Uma dica interessante para o futuro é utilizar o metodo pd.to_numeric() para converter valores para numero, pois ele pode ajudar quando existem dados invalidos ou inconsistentes. Veja este exemplo:


import pandas as pd

valores = ['10.5', '20.3', 'erro', '15']

numeros = pd.to_numeric(valores, errors='coerce')

print(numeros)

Esse codigo tenta converter os valores para numero e, se encontrar algo que nao pode ser convertido, substitui por NaN, o que facilita o tratamento posterior dos dados.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Para saber mais:

Sugestão de conteúdo:

Alura

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