如何制作一个滚动版本的以下MAD函数
from numpy import mean, absolute
def mad(data, axis=None):
return mean(absolute(data - mean(data, axis)), axis)
这段代码是回答这个问题的。
目前,我将numpy转换为pandas,然后应用此函数,最后将结果转换回numpy。
pandasDataFrame.rolling(window=90).apply(mad)
但是在更大的数据框上使用这种方法效率低下。如何在numpy中获得滚动窗口以执行相同的函数而无需循环,并给出相同的结果?