{Numpy} Умножьте два списка разного размера - PullRequest
0 голосов
/ 16 октября 2018

Я ищу решение умножить список на небольшой список для каждой последовательности, например:

X=[a,b,c]
Y=[d,e]

, и я хочу получить этот результат (умножьте i-1 и i из X на Y, толькоесли i-1 существует).

Z=[e*a,d*a+e*b,d*b+e*c]

У меня есть некоторые идеи, но я ищу что-то без if / else или добавляю 0 в X ...

Дополнительный вопрос: чтолучшее ?Списки использования или массивы?(или другое?)

Спасибо.

1 Ответ

0 голосов
/ 16 октября 2018

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