Как рассчитать обратную накопительную сумму в пандах


Функцию cumsum() можно использовать для вычисления совокупной суммы значений в столбце DataFrame pandas.

Вы можете использовать следующий синтаксис для вычисления обратной накопительной суммы значений в столбце:

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

Этот конкретный синтаксис добавляет новый столбец с именем cumsum_reverse в DataFrame pandas, который отображает обратную кумулятивную сумму значений в столбце с надписью my_column .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: вычислить обратную накопительную сумму в пандах

Допустим, у нас есть следующий DataFrame pandas, который показывает общий объем продаж магазина за 10 дней подряд:

 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

Мы можем использовать следующий синтаксис для расчета обратной текущей суммы столбца продаж:

 #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

В новом столбце под названием cumsum_reverse_sales отображаются совокупные продажи из последней строки .

Вот как бы мы интерпретировали значения в столбце cumsum_reverse_sales :

  • Совокупная сумма продаж за 10 день равна 7 .
  • Совокупная сумма продаж за 10 и 9 дни равна 11 .
  • Совокупная сумма продаж за 10-й, 9-й и 8-й дни равна 12 .
  • Совокупная сумма продаж за 10-й, 9-й, 8-й и 7-й дни равна 12 .

И так далее.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как суммировать определенные столбцы в Pandas
Как выполнить сумму GroupBy в Pandas
Как суммировать столбцы на основе условия в Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *