Skip to content
Advertisement

Iterative summation

I’m trying to write a python code that allows me to iteratively sum up the average values of three elements of a list, starting with the third element and its two predecessors. Let me give you an example:

list = [1, 2, 3, 4, 5, 6, 7]

I want to calculate the following:

sum_of_average_values = sum(1, 2, 3)/3 + sum(2, 3, 4)/3 + sum(3, 4, 5)/3 + sum(4, 5, 6)/3 + sum(5, 6, 7)/3 

Since I’m quite new to programming I couldn’t find an effective way of putting this into a function.

Advertisement

Answer

You could use rolling from pandas.

import pandas as pd

num_list = [1, 2, 3, 4, 5, 6, 7]

average_sum = sum(pd.Series(num_list).rolling(3).mean().dropna())

print(average_sum)
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement