main.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import sqlite3
  2. import numpy as np
  3. temp_limit = (760, 870)
  4. conn = sqlite3.connect("steel_production_data1.db")
  5. cursor = conn.cursor()
  6. cursor.execute("select tail_steel_length_laser, tail_steel_length_thermal, fixed_length from production_data")
  7. length_list = cursor.fetchall()
  8. conn.close()
  9. standard = 832
  10. solved_list = []
  11. last_length = length_list[0][0]
  12. for i, j, k in length_list:
  13. if i == last_length:
  14. continue
  15. last_length = i
  16. if k < 10000:
  17. continue
  18. i *= 10
  19. if (j == temp_limit[0] and i < j) or (j == temp_limit[1] and i > j):
  20. solved_list.append(i)
  21. elif abs(i-j) < 10:
  22. solved_list.append(i)
  23. else:
  24. solved_list.append(j)
  25. diff = [i-standard for i in solved_list]
  26. variance = np.mean([i**2 for i in diff])
  27. sd = np.sqrt(variance)
  28. print('统计结果:')
  29. print('差值平均:', np.mean(diff))
  30. print('最大差值:', max([abs(i) for i in diff]))
  31. print('最小差值:', min([abs(i) for i in diff]))
  32. print('\n标 准 差:', np.std(solved_list))
  33. print('方 差:', np.var(solved_list))
  34. print('标准差(基于设定尾钢长度):', sd)
  35. print('方 差(基于设定尾钢长度):', variance)