我有以下 numpy 数组:
arr_1 = [[1,2],[3,4],[5,6]] # 3 X 2
arr_2 = [[0.5,0.6],[0.7,0.8],[0.9,1.0],[1.1,1.2],[1.3,1.4]] # 5 X 2
arr_1
显然是一个3 X 2
数组,而arr_2
is a 5 X 2
array.
现在,无需循环,我想按元素乘以 arr_1 和 arr_2,以便对 arr_2 应用滑动窗口技术(窗口大小 3)。
Example:
Multiplication 1: np.multiply(arr_1,arr_2[:3,:])
Multiplication 2: np.multiply(arr_1,arr_2[1:4,:])
Multiplication 3: np.multiply(arr_1,arr_2[2:5,:])
我想以某种矩阵乘法形式执行此操作,以使其比我当前的解决方案更快,其形式为:
for i in (2):
np.multiply(arr_1,arr_2[i:i+3,:])
因此,如果 arr_2 中的行数很大(数万量级),则该解决方案的扩展性并不是很好。
任何帮助将非常感激。