【发布时间】:2016-01-12 20:12:53
【问题描述】:
numpy.convolve(data,kernel) 确实卷积。
我想要的是卷积内核和滑动数据的函数而不是将它们相乘,我该怎么做?
这是函数(欧几里得距离): numpy.linalg.norm(kernel - data_frame)
谢谢
类似:
np.linalg.norm( (rolling_window(array([1,1,0,0,1,0,1]),2) * [0.6,0.2]) - [0,1] , axis=1 )
http://www.rigtorp.se/2011/01/01/rolling-statistics-numpy.html
这是一个解决方案,但我怀疑它可能会更好!可能是!!
【问题讨论】:
-
你的内核是一个 n 维向量并且你的数组是由向量组成的吗?然后类似卷积的操作可能不是您所需要的。你能把这描述得更详细一点吗?
-
数据和内核的一维数组。
-
卷积是缩放和求和。在您的情况下,缩放、减法、平方和求和的操作要复杂得多。如果不存在减法并且窗口只有 2 个元素,我们可以考虑在那里使用卷积。
标签: python numpy scipy convolution