Умножение двух списков на сумму - PullRequest
1 голос
/ 01 марта 2020

У меня есть формула (изображение прилагается), которую мне нужно использовать. У меня есть два списка, х и у. Моя проблема в том, что мне нужно умножить эти два списка в формуле для M. Но, похоже, я не могу умножить списки в python. Как я могу кодировать для M, используя два списка? Вот мой текущий код

m = (1/D)sum((([(xi-xbar) for xi in x]))*([(yi*1) for yi in y]))
print('m',m)

Я получаю ошибку "невозможно умножить последовательность на не-int типа 'список'"

Как мне умножить два списка, спасибо!

Formula

Ответы [ 2 ]

1 голос
/ 01 марта 2020

Вы хотите сделать это.

m=sum((x<sub>i</sub>-mean(x))*y<sub>i</sub>)

Вы можете попробовать это.

from statistics import mean
x=[1,2,3,4,5]
y=[6,7,8,9,10]

mean_x=mean(x)

m=(1/D)*sum((i-mean_x)*j for i,j in zip(x,y))
c=mean(y)-(m*mean_x)
0 голосов
/ 01 марта 2020

Вы можете использовать функцию zip в python для создания списков пары 2.

list_a=[1,2,3]
list_b=[4,5,6]
multiplied_ab=[]
for i,j in zip(list_a,list_b):
    multiplied_ab.append(i,j)
print(multiplied_ab)

Результатом будет умножение двух списков, например: [4,10,18]

Вам нужно убедиться, что длина двух списков совпадает.

Затем вы можете просто вычислить сумму списка с помощью функции sum()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...