【发布时间】:2017-11-17 02:39:14
【问题描述】:
我正在将 CSV 文件导入 Python,然后使用 x 和 y 值执行最小二乘回归。到目前为止我的程序:
- 打开 CSV 文件并以逗号分隔
- 创建两个由 X 和 Y 组成的列表(分别为 x_list 和 y_list)
- 计算所有 X 值的平均值,并对所有 Y 的值(分别为 x_avg 和 y_avg)
我找不到斜率的分子:
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 的平均值) 的所有值的总和
欢迎任何建议或批评!尝试学习并养成良好的编程习惯。感谢您的宝贵时间!
【问题讨论】:
-
你不需要显式循环来处理这些,除了可能读取文件,包括平均值,这只是
sum(list_x) / len(list_x)
标签: python python-3.x list for-loop nested