寻找时间平均问题的最快解决方案。
我有一个日期时间对象列表。需要找到时间的平均值(不包括年、月、日)。 到目前为止我得到的是:
import datetime as dtm
def avg_time(times):
avg = 0
for elem in times:
avg += elem.second + 60*elem.minute + 3600*elem.hour
avg /= len(times)
rez = str(avg/3600) + ' ' + str((avg%3600)/60) + ' ' + str(avg%60)
return dtm.datetime.strptime(rez, "%H %M %S")
我也在找,但后来发现了这个。 获取datetime对象列表平均值的非常简单的方法。
或者你可以在一行中完成所有这些:
干杯
这里有一个简短而甜蜜的解决方案(也许不是最快的)。它获取日期列表中每个日期与某个任意引用日期(返回datetime.timedelta)之间的差异,然后将这些差异相加并求其平均值。然后再加回原来的参考日期。
有更好的方法来解决这个问题
生成日期时间示例
平均2000万次
结果是timedelta(注意,这需要numpy 1.7和pandas 0.13作为
to_timedelta
部分,很快就会出现)以秒为单位(对于熊猫0.12,numpy>;=1.6,这将起作用)。
相关问题 更多 >
编程相关推荐