Profile picture

Data Scientist @ RMOTR

Sum of Cumulative Sum of a Series

Last updated: December 27th, 20182018-12-27Project preview
In [1]:
import pandas as pd

Create our series from 1 to n:

In [ ]:
n = 5
In [3]:
series = pd.Series(range(1, n+1))
series
Out[3]:
0    1
1    2
2    3
3    4
4    5
dtype: int64

The sequence of numbers (1, 2, 3, 4, 5) is arithmetic and when we are looking for the sum of a sequence, we call it a series. Thanks to Gauss, there is a special formula we can use to find the sum of a series:

$$ S = \dfrac{n(n+1)}{2} $$

We can get a cumulative sum over a series using Pandas cumsum() function, so:

In [12]:
series_sum = series.cumsum()
series_sum
Out[12]:
0     1
1     3
2     6
3    10
4    15
dtype: int64

Finally we just need to sum that cumulative sum over our series:

$$ \sum_{n=1}^{n} S = \sum_{n=1}^{n} \dfrac{n(n+1)}{2} $$
In [8]:
result = sum(series_sum)
result
Out[8]:
35

Now wrap it in a function:

In [15]:
def sumcumsum(n):
    series = pd.Series(range(1, n+1))
    series_sum = series.cumsum()
    result = sum(series_sum)
    print('Given n={}, sum of its cumulative sum is {}'.format(n, result))

Try our function with bigger numbers:

In [16]:
sumcumsum(6)
Given n=6, sum of its cumulative sum is 56
In [17]:
sumcumsum(12)
Given n=12, sum of its cumulative sum is 364
In [18]:
sumcumsum(20)
Given n=20, sum of its cumulative sum is 1540
Notebooks AI
Notebooks AI Profile20060