Як обчислити зворотну кумулятивну суму в pandas


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

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

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

Цей конкретний синтаксис додає новий стовпець під назвою cumsum_reverse до pandas DataFrame, який відображає зворотну кумулятивну суму значень у стовпці з позначкою 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *