现有“price2018.txt”文件,存储了2015年至2018年主要城市住宅商品房平均销售价格(元/平方米)数据。编写程序,将数据整理成二维表格形式,并采用线性回归模型估算2019年商品房平均销售价格,将读取二维数据和预测数据保存到”price2019.csv”文件中。(写点注释求求大佬)
https://share.weiyun.com/AX0yMUUs
25一题,Python 类型的,不怎么会写
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
soar3033 2021-11-21 22:30关注
import numpy as np import matplotlib.pyplot as plt import csv bj=['北京','22300.00' ,'28489.00', '34117.00', '37420.19']#北京价格 sh=['上海','21501.00' ,'25910.00', '24866.00', '28981.11']#上海价格 nj=['南京','11260.00','17884.00','15259.00','19708.33']#南京价格 hz=['杭州','14748.00','16211.00','21225.00','24360.20']#杭州价格 qd=['青岛','8437.00','8997.00','10052.00','12373.44']#青岛价格 headers=['城市','2015年','2016年','2017年','2018年','2019年']#csv的第一行标签 def huigui(t):#回归函数 t是城市价格列表 t=[float(i) for i in t[1:]]#把城市列表中的城市名排除,只留价格 b=np.mat(t)#把价格列表转为矩阵 b=b.T#矩阵转置 a=[[1,1],[2,1],[3,1],[4,1]]#坐标列表 a=np.mat(a)#坐标列表转矩阵 re=(a.T*a).I*a.T*b#用矩阵计算来获得回归方程的斜率和偏移 re=re[0][0]*5+re[1][0]#用得到的斜率和偏移计算2019年(第5年)的价格 return round(np.array(re)[0][0],2)#返回计算的价格值 bj.append(huigui(bj))#调用函数计算北京价格,并把结果加到北京价格列表 sh.append(huigui(sh))#调用函数计算上海价格,并把结果加到上海价格列表 nj.append(huigui(nj))#调用函数计算南京价格,并把结果加到南京价格列表 hz.append(huigui(hz))#调用函数计算杭州价格,并把结果加到杭州价格列表 qd.append(huigui(qd))#调用函数计算青岛价格,并把结果加到青岛价格列表 with open('price2019.csv','w')as f:#创建csv文件 f_csv = csv.writer(f)#创建csv对象以写入csv文件 f_csv.writerow(headers)#向csv写入第一行标签 f_csv.writerow(bj)#写入北京价格 f_csv.writerow(sh)#写入上海价格 f_csv.writerow(nj)#写入南京价格 f_csv.writerow(hz)#写入杭州价格 f_csv.writerow(qd)#写入青岛价格本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录