У меня есть dataframe df_pct_Max со следующей формой:Как вычесть среднее значение прошлых календарных недель из текущего значения?
Date Value1 Value2
01.01.2015 5 6
08.01.2015 3 2
... ... ...
28.01.2017 7 8
, и я хотел бы вычислить среднее за календарную неделю, и вычесть его из фактических значений за календарную неделю.
Я создал dataframe с среднедушевым календарной недели следующим образом:
df_weekly_avg_Max = df_pct_Max.groupby(df_pct_Max.index.week).mean()
Это приводит к dataframe df_weekly_avg_Max:
KW Value1 Value2
1 3.5 4.3
2 4 3
… … …
52 8.33 6.2
Теперь я пытаюсь вычитать df_weekly_avg_Max из df_pct_Max и хотел бы сделать это по календарной неделе.
Я попытался добавить столбец 'KW', а затем
dfresult = df_pct_Max.sub(df_weekly_avg_Max, axis='KW')
Но я получаю erros там.
Есть ли способ сделать это на скользящей основе (вытягивание среднего времени календарной недели 1 за последние 3 года с календарной недели 1 2015 года и 2016 года)? Может ли кто-нибудь помочь в решении этой проблемы?
Является ли каждый день каждую неделю в вашем 'df_pct_Max'? Можете ли вы предоставить больше строк в обоих ваших данных? – mitoRibo
Не каждый день недели является частью информационного блока. Он имеет один день в неделю как временную метку. –