如何用pandas填充缺少的datatime行

如何用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

这个数据帧是每天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-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