pandasで期間内最小値を求めたい
解決したいこと
下のような時系列データがあるとき、この期間内最小値の列を求めたいです。
期間内最小値は一時間ごとに更新される値となっていて、00分~その時点までの数値の最小値を格納しています。
例)
print(df)
----
time 数値 期間内最小値
2018-07-01 10:00:00 5 5
2018-07-01 10:15:00 4 4
2018-07-01 10:30:00 9 4
2018-07-01 11:00:00 8 8
2018-07-01 11:15:00 2 2
2018-07-01 11:30:00 1 1
2018-07-01 12:00:00 5 5
2018-07-01 12:15:00 7 5
2018-07-01 12:30:00 7 5
2018-07-01 13:00:00 6 6
df["期間内最小値"] = df["数値"].rolling("1H").min()で求めることも考えましたが、これだと期間内最小値に未来の値が入ってしまうようです。mask()やwhere()で条件ごとに処理することも考えましたが、どう処理したものか分からず…
結構大きいデータなのでfor文で処理するのは時間がかかりそうなのですが、もし方法がなければforで処理することも考えています。
何かいいアイデアかヒントがあればよろしくお願いします。