У меня есть набор данных, который содержит еженедельные данные, но мне нужно вычислить среднее их значение на основе веса строки, если эта неделя пересекает месяц. Например:
Current_Week Sales
0 29/Dec/2013-04/Jan/2014 3685.236419
1 05/Jan/2014-11/Jan/2014 3784.023564
2 12/Jan/2014-18/Jan/2014 3726.933727
3 19/Jan/2014-25/Jan/2014 3690.440944
4 26/Jan/2014-01/Feb/2014 3731.523630
5 02/Feb/2014-08/Feb/2014 3753.882783
6 09/Feb/2014-15/Feb/2014 3643.997381
7 16/Feb/2014-22/Feb/2014 3696.243919
8 23/Feb/2014-01/Mar/2014 3718.254426
В конечном итоге желаемый результат:
Month Sales
1-Jan-2014 3727.09
1-Feb-2014 3703.57
Следует отметить, что для входного фрейма данных в строке 0 мне нужно вычислить weightage
из the number of days in that week for that month
, чтобы его можно было использовать для вычисления среднего значения продаж позже. Например, за январь месяц
![enter image description here](https://i.stack.imgur.com/Z2kd0.png)
Как видно, ежемесячные продажи за январь рассчитываются путем суммирования всех усредненных продаж, а затем делятся на количество взвешенных дней: 16505.69 / 4.42 = 3727.09
Я знаю, что сначала нужно разбить временной ряд на две строки, если данные пересекают месяц, а затем sum
их и aggregate
их. Я что-то упустил?