在特定的时间序列中插入缺失的行

时间:2019-03-15 12:11:56

标签: python pandas timestamp

我有一个特定的时间序列数据集,如下所示。

0     2018-01-01 00:00:00+00:00  ...                             
1     2018-01-01 00:10:00+00:00  ...                              
2     2018-01-01 00:20:00+00:00  ...                             
3     2018-01-01 00:30:00+00:00  ...                             
4     2018-01-01 00:50:00+00:00  ...                            
5     2018-01-01 01:00:00+00:00  ...                              
6     2018-01-01 01:20:00+00:00  ...                             
7     2018-01-01 01:40:00+00:00  ...
.
.
.

但是,数据集中缺少一些行。 我已经搜索了如何为此特定数据集插入行,但未找到任何有用的帮助。在此数据集中,我们必须添加每10分钟有一个条目的行,而其他列应具有Nan值。

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

首先创建DatetimeIndex并调用DataFrame.asfreq

print (df)
                    date_col  value
0  2018-01-01 00:00:00+00:00      4
1  2018-01-01 00:10:00+00:00      9
2  2018-01-01 00:20:00+00:00      1
3  2018-01-01 00:30:00+00:00      6
4  2018-01-01 00:50:00+00:00      3
5  2018-01-01 01:00:00+00:00      4
6  2018-01-01 01:20:00+00:00      5
7  2018-01-01 01:40:00+00:00      0

#if necessary
df['date_col'] = pd.to_datetime(df['date_col'])

df = df.set_index('date_col').asfreq('10Min')
print (df)
                           value
date_col                        
2018-01-01 00:00:00+00:00    4.0
2018-01-01 00:10:00+00:00    9.0
2018-01-01 00:20:00+00:00    1.0
2018-01-01 00:30:00+00:00    6.0
2018-01-01 00:40:00+00:00    NaN
2018-01-01 00:50:00+00:00    3.0
2018-01-01 01:00:00+00:00    4.0
2018-01-01 01:10:00+00:00    NaN
2018-01-01 01:20:00+00:00    5.0
2018-01-01 01:30:00+00:00    NaN
2018-01-01 01:40:00+00:00    0.0