Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Como comparar um valor percentual entre datas com o Python?

Ola galera, fiz o curso de Python para Estatística mas não tive aula relacionada a isso. Estou precisando comparar a diferença percentual entre um valor de hoje com o de 1 mes atrás. No Excel eu só fazia ((Atual - Passado) / Passado) * 100, mas no python estou apanhando para receber uma data atual e a partir dela pegar o valor de uma coluna de um mês atras. Por exemplo, eu tenho as colunas datas, produto e vendas, daí o gestor escolhe ver as vendas do dia 02/01/23 e eu quero que junto venha o resultado percentual (Aumentou x%, ou diminuiu y%) comparando com as vendas feitas em 02/12/2022.

Poderiam me dar uma luz por gentileza?

2 respostas
solução!

Para comparar a diferença percentual entre o valor de hoje e o de um mês atrás, você pode utilizar o módulo datetime do Python. Primeiro, você pode obter a data atual com a função datetime.datetime.now(), que retorna um objeto do tipo datetime com a data e hora atuais. Em seguida, você pode utilizar o método timedelta para obter a data de um mês atrás, subtraindo um mês do objeto datetime que representa a data atual.

Por exemplo:

from datetime import timedelta
import pandas as pd

# Obtém a data atual
data_atual = datetime.datetime.now()

# Obtém a data de um mês atrás
data_mes_atras = data_atual - timedelta(days=30)

# Carrega o dataframe com as vendas
df = pd.read_csv('vendas.csv')

# Seleciona as vendas do mês atual
vendas_atuais = df[df['data'] == data_atual]['vendas'].sum()

# Seleciona as vendas do mês passado
vendas_mes_atras = df[df['data'] == data_mes_atras]['vendas'].sum()

# Calcula a diferença percentual
diferenca_percentual = ((vendas_atuais - vendas_mes_atras) / vendas_mes_atras) * 100

print(f'Diferença percentual: {diferenca_percentual:.2f}%')

Nesse exemplo, o dataframe df é carregado a partir de um arquivo CSV com duas colunas: data e vendas. Em seguida, são selecionadas as vendas do mês

Muito obrigado Diogo Santos. Me ajudou muito.