The cumsum() function can be used to calculate the cumulative sum of values in a column of a pandas DataFrame.

You can use the following syntax to calculate a **reversed cumulative sum** of values in a column:

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

This particular syntax adds a new column called **cumsum_reverse** to a pandas DataFrame that shows the reversed cumulative sum of values in the column titled **my_column**.

The following example shows how to use this syntax in practice.

**Example: Calculate a Reversed Cumulative Sum in Pandas**

Suppose we have the following pandas DataFrame that shows the total sales made by some store during 10 consecutive days:

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

We can use the following syntax to calculate a **reversed cumulative sum** of the sales column:

#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

The new column titled **cumsum_reverse_sales** shows the cumulative sales *starting from the last row*.

Here’s how we would interpret the values in the **cumsum_reverse_sales** column:

- The cumulative sum of sales for day 10 is
**7**. - The cumulative sum of sales for day 10 and day 9 is
**11**. - The cumulative sum of sales for day 10, day 9, and day 8 is
**12**. - The cumulative sum of sales for day 10, day 9, day 8, and day 7 is
**12**.

And so on.

**Additional Resources**

The following tutorials explain how to perform other common tasks in pandas:

How to Sum Specific Columns in Pandas

How to Perform a GroupBy Sum in Pandas

How to Sum Columns Based on a Condition in Pandas