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