我在datetime dataFrame中有一系列数据,需要将一个日期和时间的数据与前一天的数据进行比较。在下面的示例中,我会例如需要计算从2016-11-09 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 :(得分:0)
我认为最好的方法可能是将两组记录在两个不同的时间分成两个DataFrame,对齐日期,摆脱时间并在两个DataFrame中进行比较。