我搜索一个解决方案,将每个序列的列表乘以一个小列表,就像这样:
X=[a,b,c]
Y=[d,e]
我想要这个结果(仅当i-1存在时,将i-1和X的i乘以Y)。
Z=[e*a,d*a+e*b,d*b+e*c]
我有一些主意,但是我正在搜索某些东西,而没有if / else或在X中加0 ...
另一个问题是:什么是最好的?使用列表或数组? (或其他?)
谢谢。
答案 0 :(得分:0)
我认为您想要的被称为“相关性” 。一种简单的方法是使用numpy.correlate
。
与您的示例一样,端点总是很棘手,并且具有相关性,numpy.correlate
有几种处理端点的选项。
以下是文档中的一些示例:
>>> np.correlate([1, 2, 3], [0, 1, 0.5])
array([ 3.5])
>>> np.correlate([1, 2, 3], [0, 1, 0.5], "same")
array([ 2. , 3.5, 3. ])
>>> np.correlate([1, 2, 3], [0, 1, 0.5], "full")
array([ 0.5, 2. , 3.5, 3. , 0. ])