以二维np数组为例,用sliding_window_view把二维数组根据方向和窗口大小拆分为三维数组,然后再最后一个维度计算数组的均值或标准差等.
import numpy as np
from numpy.lib.stride_tricks import sliding_window_view
def np_sharp(arr, size): # 用np计算滚动窗口的sharp
arr1 = sliding_window_view(arr, size, 0) # 数组,窗口大小,轴向
return arr1.mean(axis=-1)/arr1.std(axis=-1)
478





