【发布时间】:2018-09-07 08:35:49
【问题描述】:
这会在长度为 K 的滑动窗口上计算 A 的“滚动最大值”(类似于滚动平均值):
import numpy as np
A = np.random.rand(100000)
K = 10
rollingmax = np.array([max(A[j:j+K]) for j in range(len(A)-K)])
但我认为它在性能方面远非最佳。
我知道pandas 库有rolling_max,但是在我的项目中,我不想使用这个新的依赖。
问题:有没有一种简单的方法可以仅使用 numpy 计算滚动最大值?
【问题讨论】:
-
注意:这几乎是Max in a sliding window in NumPy array的副本,除了在那个问题中,最大值在当前点周围的窗口上,这里是当前点的 next 窗口。