python - 避免在熊猫滚动中申请“滚动cummax”
问题描述
我想使用 groupby rolling 来计算时间序列的尾随 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)
这是我所期望的,即计算滚动 cummax,但我找不到避免组合 groupby 和 apply 的实现,这已知是慢的 - 对于这个例子,在我的计算机上需要 0.75 秒。
谢谢你的想法!
解决方案
推荐阅读
- selenium - 从下拉框中选择 - selenium
- c++ - 在 Windows 上使用 C++ 中的 Select 函数进行轮询
- linq - 将字符串转换为 linq 条件实体框架核心
- javascript - 如何允许 Angular 5 Web 应用程序在同一浏览器的多个选项卡中打开
- c++ - SDL2 | 包装类访问冲突
- javascript - onclick 和 $("#abc").click(function(){}) 的优先级,哪个优先级更高?
- c# - unity unitybootstrapper 问题
- javascript - Javascript 模块、加载器、捆绑器和包管理器的混淆
- javascript - 通过 Firebase 函数发送时 FCM 中的高延迟
- scala - Directive to complete with RandomAccessFile read