Advertisement
Savelyev_Vyacheslav

compare2

Mar 15th, 2022
1,129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.79 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # coding: utf-8
  3.  
  4. # In[6]:
  5.  
  6.  
  7. def delset(a):
  8.     return (set(a) - {5,6,7,8,9})
  9.  
  10. def makeArr():
  11.     arr = []
  12.     for i in range(100000,155555,1):
  13.         a = str(i)
  14.         b = [int(a[1]), int(a[2]), int(a[3]), int(a[4]), int(a[5])]
  15.         c = delset(b)
  16.         #print(d)
  17.         if len(c) == 5:
  18.             arr.append([int(a[1]), int(a[2]), int(a[3]), int(a[4]), int(a[5])]
  19.     return arr
  20.                        
  21. setALL = makeArr()
  22.  
  23. def delPovtor(dataPPM,dataNAME):
  24.     arr = []
  25.     name = []
  26.     for item in dataPPM:
  27.         a = set(item)
  28.         idd = 1
  29.         for ii in item:
  30.             #print(set([ii]))
  31.             if len(a - set([ii])) < 4:
  32.                 idd = 0
  33.         if idd:
  34.             arr.append(item)
  35.             name.append(dataNAME[dataPPM.index(item)])
  36.     return arr, name
  37.                
  38.        
  39. dataPPM_ = [[32930, 2397, 0, 0, 157],[37800, 1740, 8, 8, 249],[92600, 10200, 0, 0, 0],[8266, 1061, 0, 0, 22],[9340, 995, 7, 6, 60],[36036, 4704, 10, 5, 554],[33046, 619, 0, 2, 58],[40280, 1069, 1, 1, 1060],[26788, 18342, 0, 27, 2111],[78, 20, 28, 13, 11],[305, 100, 541, 161, 33],[35, 6, 482, 26, 3],[543, 120, 1880, 411, 41],[1230, 163, 692, 233, 27],[645, 86, 317, 110, 13],[60, 10, 4, 4, 4],[95, 10, 39, 11, 0],[6870, 1028, 5500, 900, 79],[10092, 5399, 37565, 6500, 530],[650, 81, 270, 51, 170],[210, 22, 7, 6, 6],[385, 60, 159, 53, 8],[4230, 690, 1180, 196, 5],[7600, 1230, 1560, 836, 318],[595, 80, 244, 89, 9],[120, 25, 40, 8, 1],[8, 0, 101, 43, 0],[6454, 2313, 6432, 2159, 121],[2177, 1049, 705, 440, 207],[1790, 580, 619, 336, 321],[1330, 10, 182, 66, 20],[4, 1, 52, 7, 2],[1900, 285, 7730, 957, 31],[57, 24, 30, 27, 2],[1000, 500, 500, 400, 1],[440, 89, 757, 304, 19],[210, 43, 187, 102, 12],[2850, 1115, 3675, 1987, 138],[7020, 1850, 4410, 2960, 0],[545, 130, 239, 153, 16],[7150, 1440, 1760, 1210, 97],[620, 325, 244, 181, 38],[120, 31, 94, 66, 0],[755, 229, 460, 404, 32],[5100, 1430, 1010, 1140, 0],[13500, 6110, 4040, 4510, 212],[1570, 1110, 1830, 1780, 175],[3090, 5020, 2540, 3800, 323],[1820, 405, 634, 365, 35],[535, 160, 680, 305, 16],[13, 3, 6, 3, 1],[137, 67, 104, 53, 7],[1084, 188, 769, 166, 8],[34, 21, 56, 49, 4],[7940, 2000, 5390, 3120, 355],[150, 130, 30, 55, 9],[8200, 3790, 5830, 4620, 250],[260, 215, 277, 334, 35],[75, 15, 26, 14, 7],[530, 345, 250, 266, 85],[60, 5, 21, 21, 2],[90, 28, 32, 31, 8],[220, 77, 240, 170, 22],[5900, 1500, 2300, 1200, 68],[420, 250, 800, 530, 41],[2800, 2800, 3600, 3500, 234],[99, 170, 190, 200, 20],[310, 230, 760, 610, 54],[800, 160, 600, 260, 23],[1500, 395, 323, 395, 28],[20000, 13000, 57000, 29000, 1850],[305, 85, 130, 197, 25],[1900, 530, 434, 383, 35],[110, 62, 250, 140, 90],[3700, 1690, 3270, 2810, 128],[2770, 660, 763, 712, 54],[245, 120, 167, 131, 18],[1170, 255, 325, 312, 18],[4419, 3564, 2025, 2861, 668],[810, 580, 490, 570, 111],[5000, 1200, 1100, 1000, 83],[10000, 6730, 10400, 7330, 345],[1570, 735, 1740, 1330, 87],[1270, 3450, 8, 1390, 520],[3420, 7870, 33, 6990, 1500],[360, 610, 9, 260, 259],[1, 27, 1, 4, 49],[3675, 6392, 5, 7691, 2500],[48, 610, 0, 10, 29],[12, 18, 0, 4, 4],[66, 60, 0, 7, 2],[1450, 940, 61, 322, 211],[0, 18900, 330, 540, 410],[960, 4000, 6, 1560, 1290],[24700, 61000, 1560, 42100, 26300],[14, 44, 1, 7, 124],[2031, 149, 0, 3, 20],[480, 1075, 0, 1132, 298],[40000, 400, 6, 600, 70],[8800, 64064, 0, 95650, 72128],[6709, 10500, 750, 17700, 1400],[1100, 1600, 26, 2010, 221],[290, 966, 57, 1810, 299],[2500, 10500, 6, 13500, 4790],[1860, 4980, 1600, 10700, 0],[860, 1670, 40, 2050, 30],[150, 22, 11, 60, 9],[400, 940, 24, 820, 210],[6, 2990, 67, 26076, 29990],[100, 200, 11, 670, 110],[290, 1260, 8, 820, 231],[1550, 2740, 184, 5450, 816],[3910, 4290, 1230, 6040, 626],[12705, 23498, 5188, 34257, 6047],[1, 8, 6, 100, 8],[300, 700, 36, 1700, 280],[107, 143, 2, 222, 34]]
  40. dataNAME_ = ['PD','PD','PD','PD','PD','PD','PD','PD','PD','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D1','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','D2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T1 и T2','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3','T3']
  41. dataPPM, dataNAME = delPovtor(dataPPM_, dataNAME_)
  42. print(len(dataPPM_))
  43. print(len(dataPPM))
  44.  
  45. #delPovtor(dataPPM_)
  46.  
  47. def orderPoint(GasPPM):
  48.     copyAr = GasPPM
  49.     aaa = list(zip(copyAr, [0,1,2,3,4]))
  50.     aaa.sort(reverse=True)
  51.     a,b = zip(*aaa)
  52.     return list(b)
  53. def dataTrans(dataPPM):
  54.     arrTr=[]
  55.     for item in dataPPM:
  56.         arrTr.append(orderPoint(item))
  57.     return arrTr
  58. dataFormat = dataTrans(dataPPM)
  59. #print(len(setALL))
  60.        
  61.  
  62.  
  63. # In[7]:
  64.  
  65.  
  66. arrRazn = []
  67. yest = [[0,1,2,3,1],[0,0,0,0,0]]
  68. def splitArr(a):
  69.     new = []
  70.     for i in range(len(a)-1):
  71.         if a[i]/a[i+1]<1:
  72.             new.append(a[i+1]/a[i])
  73.         else:
  74.             new.append(a[i]/a[i+1])
  75.     return new
  76. def formatFor(yest):
  77.     arrRazn = []
  78.     for item in yest:
  79.         for ii in item:
  80.             if ii == 0:
  81.                 item[item.index(ii)] = 0.0001
  82.         arrRazn.append(splitArr(item))
  83.     return arrRazn
  84.  
  85. arrRazn = dataTrans(formatFor(dataPPM))
  86.  
  87.  
  88.  
  89.  
  90. aa = makeArr()
  91. print(setALL)
  92.  
  93.  
  94. # In[48]:
  95.  
  96.  
  97.  
  98. arID = []
  99. record = []
  100. for i in range(len(dataFormat)):
  101.     arID.append(setALL.index(dataFormat[i]))
  102.     #print(arID)
  103. UnicName = set(dataNAME)
  104. def getIdName(arID,dataNAME,UnicName):
  105.     b_ = []
  106.     for item in UnicName:
  107.         a_ = []
  108.         for i in range(len(arID)) :
  109.             if dataNAME[i] == item:
  110.                 a_.append(arID[i])
  111.         b_.append(a_)
  112.         #print(b_)
  113.     return b_
  114.                
  115. out = getIdName(arID,dataNAME,UnicName)        
  116. PD = set(out[0])
  117. D1 = set(out[1])
  118. D2 = set(out[2])
  119. T1T2 = set(out[3])
  120. T3 = set(out[4])
  121. setDef = [PD, D1, D2, T1T2, T3]
  122.  
  123. ss = len(PD)+len(D1)+len(D2)+len(T1T2)+len(T3)
  124.  
  125.  
  126. all_ = setDef[0] | setDef[1] | setDef[2] | setDef[3] | setDef[4]
  127. #print(setDef)
  128. #print(all_)
  129. print(ss)
  130. print(len(all_))
  131.  
  132.  
  133. # In[44]:
  134.  
  135.  
  136. setALL.index([1,0,2,3,4])
  137.  
  138.  
  139. # In[28]:
  140.  
  141.  
  142. {1,2,3, 0, 0} - {0}
  143.  
  144.  
  145. # In[29]:
  146.  
  147.  
  148. 29/37
  149.  
  150.  
  151. # In[5]:
  152.  
  153.  
  154. def delset(a):
  155.     return (set(a) - {5,6,7,8,9})
  156.  
  157. def makeArr():
  158.     arr = []
  159.     for i in range(100000,155555,1):
  160.         a = str(i)
  161.         b = [int(a[1]), int(a[2]), int(a[3]), int(a[4]), int(a[5])]
  162.         c = delset(b)
  163.         #print(d)
  164.         if len(c) == 5:
  165.             arr.append([int(a[1]), int(a[2]), int(a[3]), int(a[4]), int(a[5])]
  166.     return arr
  167.                        
  168. setALL = makeArr()
  169.  
  170.  
  171. # In[ ]:
  172.  
  173.  
  174.  
  175.  
  176.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement