2017-05-25 115 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他們進行比較。