Como calcular uma soma cumulativa reversa em pandas


A função cumsum() pode ser usada para calcular a soma cumulativa de valores em uma coluna de um DataFrame do pandas.

Você pode usar a seguinte sintaxe para calcular uma soma cumulativa reversa de valores em uma coluna:

 df[' cumsum_reverse '] = df. loc [:: -1 , ' my_column ']. cumsum ()[:: -1 ]

Esta sintaxe específica adiciona uma nova coluna chamada cumsum_reverse a um DataFrame do pandas que exibe a soma cumulativa reversa dos valores na coluna rotulada my_column .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: calcule uma soma cumulativa reversa em pandas

Digamos que temos o seguinte DataFrame do pandas que mostra o total de vendas realizadas por uma loja durante 10 dias consecutivos:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' sales ': [3, 6, 0, 2, 4, 1, 0, 1, 4, 7]})

#view DataFrame
df

      day sales
0 1 3
1 2 6
2 3 0
3 4 2
4 5 4
5 6 1
6 7 0
7 8 1
8 9 4
9 10 7

Podemos usar a seguinte sintaxe para calcular uma soma acumulada reversa da coluna de vendas:

 #add new column that shows reverse cumulative sum of sales
df[' cumsum_reverse_sales '] = df. loc [:: -1 , ' sales ']. cumsum ()[:: -1 ]

#view updated DataFrame
df

day sales cumsum_reverse_sales
0 1 3 28
1 2 6 25
2 3 0 19
3 4 2 19
4 5 4 17
5 6 1 13
6 7 0 12
7 8 1 12
8 9 4 11
9 10 7 7

A nova coluna intitulada cumsum_reverse_sales exibe as vendas acumuladas da última linha .

Veja como interpretaríamos os valores na coluna cumsum_reverse_sales :

  • A soma acumulada das vendas do dia 10 é 7 .
  • A soma acumulada das vendas do dia 10 e do dia 9 é 11 .
  • A soma acumulada das vendas do dia 10, dia 9 e dia 8 é 12 .
  • A soma acumulada das vendas do dia 10, dia 9, dia 8 e dia 7 é 12 .

E assim por diante.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Como somar colunas específicas no Pandas
Como realizar uma soma GroupBy no Pandas
Como somar colunas com base em uma condição no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *