1
resposta

Calculo de juros compostos de um DataFrame Python

Bom dia

Estou com duvida de como calcular certas faixas de valores de uma serie de dados. Tenho esses dados abaixo :

             valor
data    
1989-06-01    19.68
1989-07-01    35.90
1989-08-01    36.92
1989-09-01    39.92
1989-10-01    40.64
...    ...
2020-12-01    0.96
2021-01-01    2.58
2021-02-01    2.53
2021-03-01    2.94
2021-04-01    1.51
383 rows × 1 columns

Esses dados são referente ao IGP-M que peguei do site do banco central, valores mensais... Eu gostaria de calcular o acumulado anual e jogar em outra variável. Lembrando que a soma precisa ser feita na base de juros compostos. A saída seria algo desse tipo:


             valor acumulado anual
Ano    
1989        x
1990        x
1991        x
...    ...
2019        x
2020        x

Estou quebrando a cabeça, sei que deve ter alguma função simples, se alguém puder me dar uma dica... Agradeço!

1 resposta

Olá Rafael, tudo bem ? Espero que sim.

Acredito que a função cumsum pode te ajudar com seu objetivo. Ela vai fazer a soma acumulada do seus dados.

Fiz um exemplo com um DataFrame salvo na variável df:

df
datavalor
01989-06-0119.68
11989-07-0135.9
21989-08-0136.92
31989-09-0139.92
41989-10-0140.64
52020-12-010.96
62021-01-012.58
72021-02-012.53
82021-03-012.94
92021-04-011.51

Vamos selecionar a coluna valor e utilizar o cumcum que vai retornar a soma acumulada. (Coloquei também o rename para mudar o nome da coluna resultante.

valor_acumulado_anual = df.valor.cumsum().rename('valor_acumulado_anual')
valor_acumulado_anual
valor_acumulado_anual
019.68
155.58
292.5
3132.42
4173.06
5174.02
6176.6
7179.13
8182.07
9183.58

Depois inclui essa coluna no nosso dataframe original.

df['valor_acumulado_anual'] = valor_acumulado_anual
df
datavalorvalor_acumulado_anual
01989-06-0119.6819.68
11989-07-0135.955.58
21989-08-0136.9292.5
31989-09-0139.92132.42
41989-10-0140.64173.06
52020-12-010.96174.02
62021-01-012.58176.6
72021-02-012.53179.13
82021-03-012.94182.07
92021-04-011.51183.58

Para conhecer mais sobre o cumsum recomendo a leitura da documentação

Espero ter ajudado, mas qualquer duvida não hesite em perguntar.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!