Скользящее среднее после заполнения недостающих значений даты

#pandas #datetime #pandas-groupby #rolling-computation #reindex

#панды #дата-время #pandas-groupby #роллинг-вычисление #переиндексация #pandas #скользящее вычисление

Вопрос:

У меня есть фрейм данных с ‘Date’, ‘countyFIPS’, ‘Topic_label’ и ‘Score columns’. Я хочу агрегировать данные до 3-дневного уровня для каждого округа по каждой теме в ‘Topic_label’. В столбцах даты отсутствуют даты. Мне нужен непрерывный столбец даты путем вменения пропущенных дат. Для каждой даты необходимо рассчитать три дня, включая скользящий средний балл за этот день по каждой теме. Нам нужно собрать данные за три дня по каждой теме и подсчитать среднее количество баллов.

 df=pd.DataFrame({'countyFIPS':[1001,1001,1001,1001,1001,
           1002,1002,1002,1002,1002],
          'Date':['2020-08-16','2020-08-14','2020-08-14','2020-08-14',
           '2020-08-14','2020-08-05','2020-08-07','2020-08-07',
           '2020-08-05','2020-08-05'],
          'Topic_Label':['Health','Business','Health','Business',
           'Health','Politics','Health','Health','Politics','Business'],
          'Score':[1,1,2,1,3,4,2,1,3,4]},
        )
  

Желаемый результат

 df_desired=pd.DataFrame({'countyFIPS':[1001,1001,1001,1001,1001,1001,1001,1001,1001,
                        1002,1002,1002,1002,1002,1002,1002,1002,1002],
          'Date':['2020-08-14','2020-08-14','2020-08-14','2020-08-15','2020-08-15','2020-08-15',
                  '2020-08-16','2020-08-16','2020-08-16','2020-08-05','2020-08-05','2020-08-05',
                  '2020-08-06','2020-08-06','2020-08-06','2020-08-07','2020-08-07','2020-08-07'],
          'Topic_Label':['Health','Business','Politics','Health','Business','Politics',
                         'Health','Business','Politics','Health','Business','Politics',
                         'Health','Business','Politics','Health','Business','Politics'],
          '3 day rolling average':[2.5,1,0,2.5,1,0,2,1,0,0,4,3.5,0,4,3.5,1.5,4,3.5]},
        )
  

Заранее спасибо!