Мне нужно рассчитать скользящие, но не перекрывающиеся 7-дневные средние значения в огромном наборе данных, чтобы я мог рассчитать число 7-дневных средних превышений (средних значений выше определенного порога) для каждой станции. Набор данных выглядит примерно так:
STATION DATE VALUE
A 1/15/2010 4
A 1/18/2010 5
A 1/25/2011 2
A 1/30/2011 1
A 2/2/2011 14
B 5/6/2012 6
B 5/14/2012 4
B 5/17/2012 3
B 1/29/2013 16
Я хочу, чтобы это выглядело так:
STATION DATE VALUE 7DAYPERIOD YEAR-7DAYPERIOD
A 1/15/2010 4 1 2010-1
A 1/18/2010 5 1 2010-1
A 1/25/2011 2 1 2011-1
A 1/30/2011 1 1 2011-1
A 2/2/2011 14 2 2011-2
B 5/6/2012 6 1 2012-1
B 5/14/2012 4 2 2012-2
B 5/17/2012 3 2 2012-2
B 1/29/2013 16 1 2013-1
, где "7DAYPERIOD" соответствует n-му непересекающемуся 7-дневному периоду относительно самой ранней даты в году для станции. Затем я собирался объединить год с этим номером («YEAR-7DAYPERIOD») и затем агрегировать по этому идентификатору и станции, чтобы вычислить средние значения для каждой станции.
Первоначально я думал, что смазанная "неделя" поможет мне с этим. Но «неделя» дает число относительно 1 января. Мне нужно, чтобы число было относительно самой ранней даты в году, представленной в наборе данных И чтобы оно было конкретным для станции.