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)