我想使用groupby滚动来计算时间序列的尾随cummmax,例如
import time
import pandas as pd
df_example = pd.DataFrame({"value": np.random.normal(1500), "group": 1500 * ["A"]})
t = time.process_time()
df_example["value"].rolling(100).apply(lambda x: x.cummax().max(), raw=False)
elapsed_time = time.process_time() - t
print(elapsed_time)
这可以实现我所期望的,即计算滚动最大积,但是我找不到能避免groupby和apply组合的实现方式,在本示例中,这种方式在我的计算机上花费0.75秒。
感谢您的想法!