我有一个这样结构的数据框:
df_all:
day_time LCLid energy(kWh/hh)
2014-02-08 23:00:00 MAC000006 0.077
2014-02-08 23:30:00 MAC000006 0.079
...
2014-02-08 23:00:00 MAC000007 0.045
...
我想用先前和尾随值填充的数据中缺少四个连续的日期时间(跨所有 LCLid)。
如果数据帧被拆分为子数据帧 (df),每个 LCLid 一个,例如:
gb = df.groupby('LCLid')
df_list = [gb.get_group(x) for x in gb.groups]
然后我可以为 df_list 中的每个 df 执行此操作:
#valid data before gap
prev_row = df.loc['2013-09-09 22:30:00'].copy()
#valid data after gap
post_row = df.loc['2013-09-10 01:00:00'].copy()
df.loc[pd.to_datetime('2013-09-09 23:00:00')] = prev_row
df.loc[pd.to_datetime('2013-09-09 23:30:00')] = prev_row
df.loc[pd.to_datetime('2013-09-10 00:00:00')] = post_row
df.loc[pd.to_datetime('2013-09-10 00:30:00')] = post_row
df = df.sort_index()
我怎样才能在 df_all 上做到这一点,一次又一次地用来自每个 LCLid 的“有效”数据填充缺失的数据?
相关分类