如何用pandas填充缺少的datatime行
这个数据帧是每天24小时的记录,但它遗漏了一些记录。如何将缺少的行插入正确的位置,并将“nan”填入相应的值?这里的日期时间是复杂的24小时,因此有必要将其替换为23小时并添加一小时。上次用于为24小时DatetimeIndex添加缺少的值: 看一下重采样。可能是重复的如何用pandas填充缺少的datatime行,pandas,dataframe,datetime,Pandas,Dataframe,Datetime,这个数据帧是每天24小时的记录,但它遗漏了一些记录。如何将缺少的行插入正确的位置,并将“nan”填入相应的值?这里的日期时间是复杂的24小时,因此有必要将其替换为23小时并添加一小时。上次用于为24小时DatetimeIndex添加缺少的值: 看一下重采样。可能是重复的 index valuve 2017-01-25 01:00:00:00 1 2017-01-25 02:00:00:00 5 2017-01-2
index valuve
2017-01-25 01:00:00:00 1
2017-01-25 02:00:00:00 5
2017-01-25 03:00:00:00 7
2017-01-25 07:00:00:00 34
2017-01-25 20:00:00:00 45
2017-01-25 24:00:00:00 45
2017-01-26 1:00:00:00 31
mask = df.index.str.contains(' 24:')
idx = df.index.where(~mask, df.index.str.replace(' 24:', ' 23:'))
idx = pd.to_datetime(idx, format='%Y-%m-%d %H:%M:%S:%f')
df.index = idx.where(~mask, idx + pd.Timedelta(1, unit='H'))
df = df.asfreq('H')
print (df)
valuve
index
2017-01-25 01:00:00 1.0
2017-01-25 02:00:00 5.0
2017-01-25 03:00:00 7.0
2017-01-25 04:00:00 NaN
2017-01-25 05:00:00 NaN
2017-01-25 06:00:00 NaN
2017-01-25 07:00:00 34.0
2017-01-25 08:00:00 NaN
2017-01-25 09:00:00 NaN
2017-01-25 10:00:00 NaN
2017-01-25 11:00:00 NaN
2017-01-25 12:00:00 NaN
2017-01-25 13:00:00 NaN
2017-01-25 14:00:00 NaN
2017-01-25 15:00:00 NaN
2017-01-25 16:00:00 NaN
2017-01-25 17:00:00 NaN
2017-01-25 18:00:00 NaN
2017-01-25 19:00:00 NaN
2017-01-25 20:00:00 45.0
2017-01-25 21:00:00 NaN
2017-01-25 22:00:00 NaN
2017-01-25 23:00:00 NaN
2017-01-26 00:00:00 45.0
2017-01-26 01:00:00 31.0