Average timedelta in list

Viewed 21190

I want to calculate the avarage timedelta between dates in a list. Although the following works well, I'm wondering if there's a smarter way?

delta = lambda last, next: (next - last).seconds + (next - last).days * 86400   
total = sum(delta(items[i-1], items[i]) for i in range(1, len(items)))
average = total / (len(items) - 1)
4 Answers

If you have a list of timedeltas:

import pandas as pd
avg=pd.to_timedelta(pd.Series(yourtimedeltalist)).mean()
sum(timedelta_list ,datetime.timedelta())
Related