嵌套for循环将两个列表乘以两个变量python 3
我将一个CSV文件导入Python,然后使用x和y值执行最小二乘回归。到目前为止,我的计划:嵌套for循环将两个列表乘以两个变量python 3,python,python-3.x,list,for-loop,nested,Python,Python 3.x,List,For Loop,Nested,我将一个CSV文件导入Python,然后使用x和y值执行最小二乘回归。到目前为止,我的计划: 打开CSV文件并以逗号分隔 创建由X和Y组成的两个列表(分别为X_列表和Y_列表) 计算X的所有值的平均值,并对所有 Y的值(分别为x_平均值和Y_平均值) 我找不到斜率的分子: 总和((Xi-X平均值)*(Yi-Y平均值)) 我正在使用嵌套for循环,但得到的m_num(斜率分子)结果不正确 我需要m_num返回(X-X的平均值)*(Y-Y的平均值)的所有值之和 欢迎提出任何建议或批评!努力学习并
- 打开CSV文件并以逗号分隔
- 创建由X和Y组成的两个列表(分别为X_列表和Y_列表)
- 计算X的所有值的平均值,并对所有 Y的值(分别为x_平均值和Y_平均值)
x\u列表中的每个(x,y)值
,y\u列表
中的每个(x,y)值相互配对,这将起作用:
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)
如果希望x\u列表
,y\u列表
中的每个(x,y)值相互配对,则此操作将有效:
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)
除了读取文件,可能不需要显式循环,包括平均值,它只是
sum(list_x)/len(list_x)
除了读取文件,可能不需要显式循环,包括平均值,它只是sum(list_x)/len(list_x)