[英]Nested for loop to multiply two lists by two variables python 3
我將CSV文件導入Python,然后使用x和y值執行最小二乘回歸。 到目前為止,我的程序是:
我在查找斜率分子時遇到了麻煩:
sum((Xi-X avg)*(Yi-Y avg))
我正在使用嵌套的for循環,但返回的m_num(斜率分子)結果不正確。
def compute_numerator(x_list, y_list, x_avg, y_avg):
m_num = 0
xi = []
yi = []
multiples = []
xi = [(x - x_avg) for x in x_list]
yi = [(y - y_avg) for y in y_list]
for x in xi:
for y in yi:
multiples = [x * y]
m_num = sum(multiples)
print(m_num)
return m_num
我需要m_num返回(X-X的平均值)*(Y-Y的平均值)所有值的總和
任何建議或批評歡迎! 嘗試學習並養成良好的編程習慣。 謝謝你的時間!
如果希望x_list
, y_list
每個(x,y)值y_list
配對,則可以這樣做:
sum((x-x_avg)*(y-y_avg) for x, y in zip(x_list, y_list))
您的問題是您沒有將它們配對,而是讓每個x值總和與所有y值,如下所示:
sum((x-x_avg)*(y-y_avg) for x, y in x_list for y in y_list)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.