33155


FXの前日の高値と安値を格納する関数を作りたいです。  
dfにはindex（時間）と高値（High）と安値（Low）が入っています。  
以下のコードで一応動くことは動くのですが、ものすごく動作が遅いです。

早くする方法がもしあれば、ご教授願います。

[code]

    def PDHL(df, high='High',low='Low'):
        x = pd.Series(0, index=df.index)
        y = pd.Series(10000, index=df.index)
        temphigh = df[high][1]
        templow = df[low][1]
        for i in range(2, len(x)):
            if df.index.day[i] != df.index.day[i-1]:
                x[i] = temphigh
                y[i] = templow
                temphigh = 0
                templow = 10000
            else:
                x[i] = x[i-1]
                y[i] = y[i-1]
            if df[high][i] > temphigh:
                temphigh = df[high][i]
            if df[low][i] < templow:
                templow = df[low][i]
        ret = pd.DataFrame({'1dhigh':x,'1dlow':y},columns=['1dhigh','1dlow'])
        return ret
    
[/code]


CC BY-SA 3.0
2017-03-06T09:33:01.560
33133
2017-03-07T01:58:09.170
2017-03-06T14:11:26.430
19110
20949
question
python
FXの前日の高値と安値を格納する関数を早く動かしたい


`df.resample('D').ohlc()`を使うと、日次の高値と安値を簡単にとることができます。


CC BY-SA 3.0
2017-03-07T01:58:09.170
33155
2017-03-07T01:58:09.170
7754
33133
answer