在索引不唯一的数据框中填充缺少的TIME和值。按其他日期的同一小时的平均值填充

时间:2019-07-03 08:12:39

标签: python pandas datetime

我有一个看起来像这样的数据框:

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

对于一天中的每一天和每一小时,我都有一个与区域,配置文件和分支相关的电力。

碰巧我的数据框可能会出现一些小时数丢失的情况,例如,我知道我在整个区域中都缺少2019年3月31日的02:00和02:30小时。

我想在“日期”列中插入缺少的这些小时,并在“电能”列中插入与区域/配置文件匹配的“电能”中存在的平均值。

示例: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()

但是一旦索引不是唯一的,我就不会得到预期的结果。 ` 我试图通过这种解决方案来激发我的灵感,但是我无法使其适应我的问题。

Resample/fill gaps for blocks of datetime stamps

0 个答案:

没有答案