Заполнение отсутствующего ВРЕМЕНИ и значений в кадре данных с индексом не уникальным.Заполните в среднем того же часа других дат - PullRequest
0 голосов
/ 03 июля 2019

У меня есть датафрейм, который выглядит так:

...
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()

но как только мой индекс не является уникальным, я не получаю ожидаемого результата. ` Я пытался вдохновить меня этим решением, но я не смог приспособить его к моей проблеме.

Повторная выборка / заполнение пробелов для блоков меток даты и времени

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...