Я думаю, то, что вы хотите, называется "корреляцией" .Простой способ сделать это с помощью 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. ])