2013-03-14 109 views
4

我在熊猫时间序列,看起来像这样不规则的时间序列:下采样的大熊猫

 

2012-01-01 00:00:00.250000 12 
2012-01-01 00:00:00.257000 34 
2012-01-01 00:00:00.258000 45 
2012-01-01 00:00:01.350000 56 
2012-01-01 00:00:02.300000 78 
2012-01-01 00:00:03.200000 89 
2012-01-01 00:00:03.500000 90 
2012-01-01 00:00:04.200000 12 
 

有没有办法将其下采样为1秒的数据没有对准1秒的界限?举例来说,有一种方式来获得此数据输出(假定下采样,在使用之前或在样品上时发生的最新值的方式):

 

2012-01-01 00:00:00.250000 12 
2012-01-01 00:00:01.250000 45 
2012-01-01 00:00:02.250000 56 
2012-01-01 00:00:03.250000 89 
2012-01-01 00:00:04.250000 12 
 

回答

5

创建DateTimeIndex 1秒的频率像这样抵消了四分之一秒。

index = pd.date_range('2012-01-01 00:00:00.25', 
         '2012-01-01 00:00:04.25', freq='S') 

使您的数据符合此索引,并且“填充”以降低您在预期结果中显示的方式。

s.reindex(index, method='ffill') 
          data 
2012-01-01 00:00:00.250000 12 
2012-01-01 00:00:01.250000 45 
2012-01-01 00:00:02.250000 56 
2012-01-01 00:00:03.250000 89 
2012-01-01 00:00:04.250000 12