构造一个简单的dataframe a
import pandas as pd
import datetime
a = pd.DataFrame({'datetime':['2021-09-29 00','2021-09-29 02','2021-09-29 03'],'value':[1,2,3]})
可以看到a作为一个时间序列,中间缺了一个时次。
构造一个与a的列名相同、时间段为a的起始时间到终止时间的、值设置为缺省值的dataframe b
b = pd.DataFrame()
b['datetime'] = pd.date_range("2021-09-29 00", periods=4, freq='H')
b['value']=99999
然后,将a和b合并,再删除重复项、按时间排序、重设索引,就得到了一个完整的时间序列,无数据的时次就是缺省值。
a=a.append(b)
a = a.drop_duplicates(subset = ['datetime']).sort_values(by=['datetime']).reset_index(drop=True)