У меня есть датафрейм, который выглядит так:
...
Date Region Profile Branch Power Energy(WH)
30/03/2019 02:00 OH IND 50kV 150
30/03/2019 02:00 NY IND 50kV 150
29/03/2019 02:00 NY RES 50kV 230
28/03/2019 02:00 NY TER 50kV 50
...
Для каждого дня и часа дня у меня есть Энергетическая энергия (WH), связанная с регионом, профилем и филиалом.
Бывает, что мой фрейм данных может показывать, что некоторые часы пропущены, например, я знаю, что пропущены часы 02:00 и 02:30 31 марта 2009 года для всего моего набора регионов.
Я хотел бы вставить эти часы, отсутствующие в столбце Дата, и вставить в столбец Энергия энергии среднее значение, представленное в Энергии энергии, которое соответствует региону / профилю.
Пример: Power Energy in 31/03/2019 at 02:00 of (NY, RES) would be the average of the 01/03/2019:30/03/2019 at 02:00 of (NY, RES)
.
Ожидаемый результат будет выглядеть так:
...
Date Region Profile Branch Power Energy(WH)
30/03/2019 02:00 OH IND 50kV 150
30/03/2019 02:00 NY IND 50kV 150
29/03/2019 02:00 NY RES 50kV 230
28/03/2019 02:00 NY TER 50kV 50
31/03/2019 02:00 NY TER 50kV mean(01/03/2019 to 30/03/2019 at 02:00 of (NY,TER,50kV)
31/03/2019 02:00 NY IND 50kV mean(01/03/2019 to 30/03/2019 at 02:00 of (NY,IND,50kV)
31/03/2019 02:00 NY RES 50kV mean(01/03/2019 to 30/03/2019 at 02:00 of (NY,RES,50kV)
...
Я пытался использовать такие комбинации:
df.resample('30min').fillna()
df.groupby().resample('30min').last().fillna()
но как только мой индекс не является уникальным, я не получаю ожидаемого результата.
`
Я пытался вдохновить меня этим решением, но я не смог приспособить его к моей проблеме.
Повторная выборка / заполнение пробелов для блоков меток даты и времени