我有一个熊猫数据框df1
,其稀疏日期作为索引和两列。我想生成一个新的数据框df2
,其中包含df1
值的给定开始日期和结束日期之间的采样日期(每个小时)。
这里是df1
:
df1:
col1 col2
2019-01-01 07:12:00 1 0
2019-01-01 10:25:00 0 1
在df2
上00:00:00
到12:00:00
并在2019-01-01
处完成,应该是一个小时的采样:
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 dataframe resample()
函数,但未成功指定开始日期和结束日期。
答案 0 :(得分:0)
使用pandas.interpolate
。以下是您应该执行的步骤。
1)创建要在其中插入新数据的时间戳列表。
2)将此时间戳列表追加到数据帧索引。这样,数据帧将具有所有必需的索引,但是column values
将是NAN
。
3)使用索引对数据框进行排序
4)调用pandas.interpolate
方法以填充两者之间的值。您可以在此方法中选择不同的参数,例如插值类型。有关更多详细信息,请参阅文档