沿单个轴对二维数组进行卷积处理

3
假设我有两个不同行数的二维数组:

数组一:

1 2 3
4 5 6
7 8 9

数组二:

10 11 12
13 14 15

我希望能够沿着零轴将这两个数组进行卷积,输出大小与数组1相同,类似于使用mode='same'时,scipy的convolve方法输出的内容。
因此,两个数组的第一列进行卷积,以此类推,两个数组的第二列进行卷积等等。我希望以一种对于更大的数组(超过100,000行)来说计算可行的方式来完成这个任务,所以如果可能的话,我想避免使用for循环。是否有numpy/scipy或其他库可以执行此操作?
期望的输出结果应如下所示:
10 22 36
53 83 117
122 158 198

输出的形状与第一个输入数组相同。每一列都是数组1和数组2中相应列卷积得到的输出。


您能够提供一下这个小样本的期望输出吗? - user3483203
当然没问题 - 我更新了开篇帖子,包括输出应该看起来像什么。 - Gmattei
如果你有10万行,解释循环的开销几乎为零。只有当卷积本身很小(例如20行),但有10万列时,解释循环才会成为问题。 - max9111
我认为我没有那么大的东西,但是卷积的总列数可以根据情况从4到超过30,000不等。 - Gmattei
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接