2017-05-25 1 views
0

datetimeのdataFrameに一連のデータがあり、そのデータをある日時から前の日の別の時刻に比較する必要があります。下の例では、たとえば、2016-11-09 09:30:00から2016-11-10 21:30:00までの変化率を計算する必要があります(基本的に表の@ 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

2つの異なる時間に2つのレコードセットを2つのDataFramesに分割し、日付を整列させ、時間を取り除き、2つのDataFramesでそれらを比較することをお勧めします。