Projeto desafio 1: vendas online O objetivo desse projeto é realizar uma análise dos resultados de um evento com os clientes de uma empresa de vendas online. Foi coletado um conjunto de dados que contém os clientes que mais gastaram com produtos dentro de 5 dias de vendas, que é o período de duração do evento. Essa análise vai identificar o cliente com a maior compra na semana, que irá receber um prêmio da loja, e posteriormente, ela pode ajudar a empresa a criar novas estratégias para atrair mais clientes.
Identificar o faturamento diário para entender o comportamento das vendas durante os 5 dias de evento e validar quem deve receber o prêmio.
import pandas as pd
(Considerando os tratamentos das Etapas 1, 2 e 3 realizados anteriormente)
1. Transformar a coluna 'Data de venda' para datetime
O parâmetro dayfirst=True é essencial para o formato brasileiro (dd/mm/AAAA)
df_vendas['Data de venda'] = pd.to_datetime(df_vendas['Data de venda'], dayfirst=True)
2. Visualização de subconjunto: Total de vendas por dia
Isso ajuda a empresa a entender qual dia do evento foi mais lucrativo
vendas_por_dia = df_vendas.groupby('Data de venda')['Valor da compra'].sum().reset_index()
3. Identificar o cliente com a maior compra para premiação
cliente_premiado = df_vendas.sort_values(by='Valor da compra', ascending=False).iloc[0]
print("Vendas totais por dia de evento:")
print(vendas_por_dia)
print(f"\nO(A) cliente que receberá o prêmio é: {cliente_premiado['Cliente']} "
f"pela compra de R$ {cliente_premiado['Valor da compra']:.2f}")
Projeto desafio 2: administração de condomínios
A administração de condomínios é uma tarefa que requer muita atenção e organização. Entre as diversas responsabilidades da gestão está o recebimento dos aluguéis dos locatários. Para garantir uma boa saúde financeira do empreendimento, é fundamental que esses pagamentos sejam feitos de forma regular e pontual. No entanto, sabemos que nem sempre isso acontece. Pensando nisso, proponho um desafio de tratamento de dados com o objetivo de analisar o atraso no pagamento de aluguéis no condomínio fictício de alguns moradores. com isso, Calcular o atraso (em dias) entre a data combinada e a data real do pagamento para analisar a saúde financeira.
# (Considerando os tratamentos das Etapas 1, 2 e 3 realizados anteriormente)
1. Transformar as colunas de data para datetime
df_locacao['datas_de_pagamento'] = pd.to_datetime(df_locacao['datas_de_pagamento'], dayfirst=True)
df_locacao['datas_combinadas_pagamento'] = pd.to_datetime(df_locacao['datas_combinadas_pagamento'], dayfirst=True)
2. Criação de subconjunto: Cálculo de atraso
Criamos uma nova coluna que subtrai as datas para obter o 'timedelta'
df_locacao['atraso_dias'] = (df_locacao['datas_de_pagamento'] - df_locacao['datas_combinadas_pagamento']).dt.days
3. Filtrar apenas quem pagou com atraso (atraso > 0)
inadimplencia_atraso = df_locacao[df_locacao['atraso_dias'] > 0]
4. Média de atraso por apartamento
media_atraso_ap = inadimplencia_atraso.groupby('apartamento')['atraso_dias'].mean().reset_index()
print("Média de dias de atraso por apartamento (apenas pagamentos fora do prazo):")
display(media_atraso_ap)