2017-05-25 113 views
0

我有日期时间数据帧的数据序列,并需要将数据从一个日期和时间前一天的其他时间进行比较。在下面的例子中,我会,例如需要从2016年11月9日09:30:00计算至2016年11月10日21:30:00百分比变化(主要是在t @ 9:30到表NEXT_DATE @ 21:30)。不幸的是,简单的滞后功能可能无法正常工作,因为记录的模式是不可预测的,有可能不相同数量的所需行之间的记录。比较数据

dates = pd.date_range('2016-11-09 09:30:00',periods=10, freq='12H') 
df =pd.DataFrame(np.random.randn(10,4)*100,index=dates,columns=list('ABCD')) 

           A|   B|   C|   D 
----------------------------------------------------------------------- 
2016-11-09 09:30:00| 74.409062| 3.635309| 17.603051| 6.743699 

2016-11-09 21:30:00| 25.707464| 133.592600| -176.460798| 236.354740 

2016-11-10 09:30:00| -13.035709| -82.974810| 106.204290| -31.382023 

2016-11-10 21:30:00| -120.712954| -2.636682| 16.839875| -12.177463 

2016-11-11 09:30:00| -195.382169| -102.214945| 84.151532| -130.732630 

.... 

有没有一种简单的方法来做这个比较,还是我需要运行for循环?

回答

0

我认为最好的办法可能是在两个不同的时间分割两个记录集分成两个DataFrames,对齐日期,摆脱了时间和跨两个DataFrames他们进行比较。