Python读取xlsx数据生成图标代码实例
运行结果:
程序代码如下:
#将excel中的数据进行读取分析
importopenpyxl
importnumpyasnp
importmath
importmatplotlib.pyplotaspit
wk=openpyxl.load_workbook('信息11.xlsx')
sheet=wk.active
rows=sheet.max_row
cols=sheet.max_column
lst1=[]
lst2=[]
foriinrange(1,rows+1):
size1=sheet.cell(i,1).value
lst1.append(size1)
size2=sheet.cell(i,2).value
lst2.append(size2)
num=0
dic_size={}
foriteminlst1:
dic_size[lst1[num]]=lst2[num]
num+=1
#弄成百分比的形式
lst_total=[]
foritemindic_size:
lst_total.append([item,dic_size[item]])
labels=[item[0]foriteminlst_total]#使用列表生成式,得到饼图的标签
fraces=[item[1]foriteminlst_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.23
pit.plot(x,y,color='purple')
#pit.savefig('图.jpg')
yre=[]
foriteminlabels:
y=-0.00024*(item**2)+0.1013*(item)+10.23
yre.append(round(y,6))
print(fraces)
print(yre)
result=[]
a=0
mse=0
mae=0
foriinrange(0,10):
a+=round(fraces[i]-yre[i],6)
mae+=round(math.fabs(fraces[i]-yre[i]),6)
foriinrange(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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。