2017-11-18 6 views
1

次のように私は時間ごとOHLCのデータフレームを持っている(OHLCの値を無視してください、私はより良い説明のためにそれらを入力した)、パンダリサンプリング毎時OHLC

hr_df = 
         Close  High  Low  Open 
2017-09-04 05:00:00 0.715035 0.715035 0.715035 0.715035 
2017-09-04 06:00:00 0.715035 0.715045 0.715015 0.715035 
2017-09-04 07:00:00 0.715040 0.715050 0.714035 0.715035 
: 
: 
2017-09-05 05:00:00 0.715045 0.715105 0.714985 0.715035 
2017-09-05 06:00:00 0.715040 0.716045 0.714605 0.715035 
2017-09-05 07:00:00 0.715040 0.717045 0.713225 0.715035 
: 
: 
2017-09-06 05:00:00 0.715040 0.714045 0.713355 0.715035 

私は毎日にそれをリサンプリングしますOHLC、例としては、

day_df = 
       Close  High  Low  Open 
2017-09-04 0.715035 0.715035 0.715035 0.715035 
2017-09-05 0.715035 0.715045 0.715015 0.715035 
2017-09-06 0.715040 0.715050 0.714035 0.715035 
2017-09-07 0.715045 0.715105 0.714985 0.715035 
2017-09-08 0.715040 0.716045 0.714605 0.715035 
2017-09-09 0.715040 0.714045 0.713355 0.715035 
2017-09-10 0.715040 0.717045 0.713225 0.715035 

私はパンダのリサンプリング方法、day_df = hr_df.resample('D').pad()またはday_df = hr_df.resample('D').ohlc()を使用してみましたが、それは動作しません。私はおそらく、適切な方法を使用していないことを知っています。誰かが私を別の解決策や適切な使用方法に導くことができれば、本当に感謝しています。私はあなたが関数の列名と値のキーとdictionaryによってResampler.aggでダウンサンプリングが必要だと思う

+0

は(http://meta.stackexchange.com/a/5235)[受諾]を検討してください/あなたの質問に答えたと思うなら、[upvoting](https://meta.stackexchange.com/questions/173399/how-to-upvote-on-stack-overflow) – MaxU

答えて

3

day_df = (hr_df.resample('D') 
       .agg({'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'})) 
print (day_df) 
       Open  High Close  Low 
2017-09-04 0.715035 0.715050 0.71504 0.714035 
2017-09-05 0.715035 0.717045 0.71504 0.713225 
2017-09-06 0.715035 0.714045 0.71504 0.713355