Skip to content

Instantly share code, notes, and snippets.

@rday
Created June 5, 2013 17:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rday/5715663 to your computer and use it in GitHub Desktop.
Save rday/5715663 to your computer and use it in GitHub Desktop.
List moving average
def moving_average(data_set, period=3):
avgs = []
for idx, item in enumerate(data_set[period-1:]):
avgs.append(round(sum(data_set[idx:period+idx]) / float(period), 2))
return avgs
data = [1, 2, 3, 6, 9, 12, 20, 28, 30, 25, 22, 20, 15, 12, 10]
assert moving_average(data, 3) == [2.0, 3.67, 6.0, 9.0, 13.67, 20.0, 26.0, 27.67, 25.67, 22.33, 19.0, 15.67, 12.33]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment