比较不同时间的日期数据

时间:2017-05-25 17:47:30

标签: pandas datetime

我在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循环?

1 个答案:

答案 0 :(得分:0)

我认为最好的方法可能是将两组记录在两个不同的时间分成两个DataFrame,对齐日期,摆脱时间并在两个DataFrame中进行比较。