脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python读取xlsx数据生成图标代码实例

Python读取xlsx数据生成图标代码实例

2020-08-13 00:04悄悄成长 Python

这篇文章主要介绍了Python读取xlsx数据生成图标代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

运行结果:

Python读取xlsx数据生成图标代码实例

程序代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#将excel中的数据进行读取分析
import openpyxl
import numpy as np
import math
import matplotlib.pyplot as pit
wk=openpyxl.load_workbook('信息11.xlsx')
sheet=wk.active
rows=sheet.max_row
cols=sheet.max_column
lst1=[]
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=0
dic_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.23
pit.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=0
mse=0
mae=0
for 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/dazhi151/p/13424419.html

延伸 · 阅读

精彩推荐