我正在实现一个滑动窗口模型,其中我想初始化一个矩阵@t
,作为前N个矩阵的元素平均值,其中N是窗口大小。
这是我的第一次尝试,它显示了最后N个矩阵:
list_of_arrays = [np.array([]) for i in range(3)] N=2 # window size # past 3 matrices list_of_arrays[0] = np.array([[0.1,0.2],[0.3,0.4]]) list_of_arrays[1] = np.array([[0.5,0.6],[0.7,0.8]]) list_of_arrays[2] = np.array([[0.9,1.0],[1.1,1.2]]) # at t=3, get element-wise means of previous N matrices t=3 range1 = lambda start, end: range(start, end+1) # modified range function answer = [list_of_arrays[t-j] for j in range1(1,N)]
期望的答案是过去N个矩阵的元素平均值。对于上述系列,它是:
(list_of_arrays[2]+list_of_arrays[1]) / 2 = [[0.7,0.8],[0.9,1.0]]
我应该如何修改answer
行上的列表理解以获得所需的答案?
这是另一个答案。
输出为
我想出来了。这是对问题中指示的
answer
行的必要修改:t-N
到t
(含)的元素平均值由从你问题的字里行间看,我认为你想在采取中庸之道之前再吃点别的东西。假设您的列表包含包含numpy数组的对象(如您在注释中建议的那样,称为
.matrix
属性),那么列表理解可以提取相关部分,因此对上述内容进行如下修改:相关问题 更多 >
编程相关推荐