Python读取xlsx数据生成图标代码实例
运行结果:
程序代码如下:
#将excel中的数据进行读取分析import openpyxlimport numpy as npimport mathimport matplotlib.pyplot as pitwk=openpyxl.load_workbook(’信息11.xlsx’)sheet=wk.activerows=sheet.max_rowcols=sheet.max_columnlst1=[]lst2=[]for i in range (1,rows+1): size1=sheet.cell(i,1).value lst1.append(size1) size2 = sheet.cell(i, 2).value lst2.append(size2)num=0dic_size={}for item in lst1: dic_size[lst1[num]]=lst2[num] num+=1#弄成百分比的形式lst_total=[]for item in dic_size: lst_total.append([item,dic_size[item]])labels=[item[0] for item in lst_total] #使用列表生成式,得到饼图的标签fraces=[item[1] for item in lst_total] #饼图中的数据源pit.rcParams[’font.family’]=[’SimHei’] #单独的表格乱码的处理方式pit.scatter(labels,fraces)pit.plot(labels,fraces,color=’green’)pit.bar(labels,fraces,width=5,color=’red’)z1=np.polyfit(labels,fraces,2)p1=np.poly1d(z1)x = np.linspace(0, 500, 50)y=-0.00024*(x**2)+0.1013*(x)+10.23pit.plot(x,y,color=’purple’)#pit.savefig(’图.jpg’)yre=[]for item in labels: y=-0.00024*(item**2)+0.1013*(item)+10.23 yre.append(round(y,6))print(fraces)print(yre)result=[]a=0mse=0mae=0for i in range(0,10): a+=round(fraces[i]-yre[i],6) mae+=round(math.fabs(fraces[i]-yre[i]),6)for i in range(0,10): result.append(round(fraces[i] - yre[i]-round(a/10,6), 6)) mse += round((fraces[i] - yre[i]-round(a/10,6)) * (fraces[i] - yre[i]-round(a/10,6)), 6)print(result)print(’均值’,round(a/10,6))print(’均方误差’,round(mse/10,6))rmse=math.sqrt(round(mse/10,6))print(’均方根误差’,round(rmse,6))print(’平均绝对误差’,round(mae/10,6))print(’R平方的数值’,1-((round(a/10,6))*round(a/10,6))/round(mse/10,6))print(p1)#pit.show()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章: