Python - 使用 Numpy 的多个矩阵的元素方式

标签 python numpy list-comprehension mean sliding-window

我正在实现一个滑动窗口模型,我想在其中初始化一个矩阵 @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 行的必要修改:

answer = np.mean([list_of_arrays[t-j] for j in range1(1,N)], axis = 0)
>> array([[ 0.7,  0.8],
>>        [ 0.9,  1. ]])

关于Python - 使用 Numpy 的多个矩阵的元素方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18826422/

相关文章:

Python在列表理解中使用枚举

functional-programming - Scheme 的列表理解库?

python - 内联 for in 表达式评估

python - DICOM 图像处理、可视化和 GUI-C++ 和 Python

python - 在python中,如何获取对象/字典列表中的最低键值对,其中每个项目都有不同的、单独的键值对?

python - 不和谐 py 中的 @client.command() 对我不起作用

python - Pandas read_table() 缺少行

python - np.nan 和 isnull() 对比的区别

python-2.7 - 用唯一的 id 替换 pandas 数据框

python - 在系统托盘应用程序的菜单项前设置图标