我有一个熊猫数据框df1
,索引是稀疏的日期,有两列。我想生成一个新的数据帧df2
,其中采样日期(每小时)在给定的开始日期和结束日期之间,包含df1
值。
这里是df1
:
df1:
col1 col2
2019-01-01 07:12:00 1 0
2019-01-01 10:25:00 0 1
以下是应在2019-01-01
上开始和00:00:00
并在12:00:00
结束的df2
,采样时间为一小时:
df2:
col1 col2
2019-01-01 00:00:00 0 0
2019-01-01 01:00:00 0 0
2019-01-01 02:00:00 0 0
2019-01-01 03:00:00 0 0
2019-01-01 04:00:00 0 0
2019-01-01 05:00:00 0 0
2019-01-01 06:00:00 0 0
2019-01-01 07:00:00 1 0
2019-01-01 08:00:00 0 0
2019-01-01 09:00:00 0 0
2019-01-01 10:00:00 0 1
2019-01-01 11:00:00 0 0
2019-01-01 12:00:00 0 0
我尝试使用pandas dataframeresample()
函数,但没有成功指定开始和结束日期。
使用pandas。插值
。以下是您应该执行的步骤。
1)创建一个要插入新数据的时间戳列表。
2)将时间戳列表追加到数据帧索引。这样,数据框将具有所有必需的索引,但列值
将是NAN
。
3) 使用索引对数据帧进行排序
4) 调用pandas。插值
方法以填充中间的值。在此方法中,可以选择不同的参数,如插值类型。有关更多详细信息,请参阅文档