1
resposta

[Projeto] Desafio: trabalhando em outros contextos

Projeto 1

#convertendo a coluna data de venda para datetime 
dados['Data de venda'] = pd.to_datetime(dados['Data de venda'], format = '%d/%m/%Y')

#conferindo o tipo das colunas
dados.info()

#somando as compras dos clientes ao longo dos dias e ordenando o total de forma descendente
dados.groupby(dados['Cliente'])['Valor da compra'].sum().sort_values(ascending = False)

Projeto 2

#conferindo os tipos dos dados
dados.info()

#convertendo as colunas de data para datetime
dados['datas_combinadas_pagamento'] = pd.to_datetime(dados['datas_combinadas_pagamento'], format = '%d/%m/%Y')
dados['datas_de_pagamento'] = pd.to_datetime(dados['datas_de_pagamento'], format = '%d/%m/%Y')

#adiciona uma coluna pagamento_atrasado que recebe True caso a data do pagamento tenha sido após a data combinada
dados['pagamento_atrasado'] = dados['datas_de_pagamento'] > dados['datas_combinadas_pagamento']
#adiciona uma coluna dias_em_atraso para calcular a diferença de dias em atraso do pagamento
dados['dias_em_atraso'] = (dados['datas_de_pagamento'] - dados['datas_combinadas_pagamento']).dt.days

moradores_atraso = dados['pagamento_atrasado'].sum()
media_dias_atraso = dados['dias_em_atraso'].mean()
soma_valor = dados.query('pagamento_atrasado == True')['valor_aluguel'].sum()


print(f'No período analisado, {moradores_atraso} moradores atrasaram seus alugueis em uma média de {media_dias_atraso -1 :.0f} dias.')
print(f'A inadimplência destes moradores poderia te causar um prejuízo de {soma_valor:.2f} para as despesas fixas e variáveis.')
1 resposta

Olá, Vinicius! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso do pandas para manipulação de dados com Python, utilizou muito bem o groupby para organizar informações de clientes e ainda compreendeu a importância da conversão de datas para realizar cálculos e análises mais precisas.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar o método agg para calcular múltiplas métricas de uma só vez. Assim:

dados.groupby('Cliente')['Valor da compra'].agg(['sum', 'mean', 'count']).sort_values(by='sum', ascending=False)

Isso faz com que você obtenha o total gasto, a média e a quantidade de compras por cliente em uma única linha de código, facilitando análises mais completas.

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!