Как рассчитать обратную кумулятивную сумму в Pandas


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

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

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

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

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

Пример: вычисление обратной кумулятивной суммы в Pandas

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

import pandas as pd

#create DataFrame
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 Sum в Pandas
Как суммировать столбцы на основе условия в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.