1
想象一下,一个时间序列在12月底/ 1月初左右出现周期性峰值。然后系列的最大值将具有如下所示的日期,如dt1
或dt2
所示。我需要计算这些最大值的(DOY)的平均日期。12月至1月的一年中的平均日期
问题是,dt1
(211)和dt2
(356)的正常平均值会给出非常不同的结果。原因很明显,dt1
的一些元素是在1月份,所以相应的DOY非常小,并且导致平均值下降。
我最初的工作是围绕使用另一个月作为原点来计算DOY,但是这造成了其他时间序列在新原点附近达到峰值的问题。
是否有一般的,常年解决这个问题?
dt1 = [datetime(2000, 12, 15), datetime(2001, 12, 16), datetime(2002,12,20), datetime(2004,1,2) , datetime(2005,1,1)]
dt2 = [datetime(2000, 12, 15), datetime(2001, 12, 16), datetime(2002,12,20), datetime(2003,12,31), datetime(2004,12,30)]
doys1 = np.array([dt.timetuple().tm_yday for dt in dt1])
doys2 = np.array([dt.timetuple().tm_yday for dt in dt2])
print doys1.mean()
print doys2.mean()
谢谢!
谢谢,@Yoel!这就像一个魅力。 – Cronopio 2014-09-19 22:57:03