Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ######################
- #
- # function (2Darray1,2Darray2)
- # 2Darray1 and 2Darray2 are combined date and value as string.
- # date format can be edited in additional function.
- # both input arrays are in format [date:value,date:value,...,date:value]
- # example:
- # correctData([['2003.05.19', 26.0], ['2003.05.21', 25.0], ['2003.05.22', 32.0]],[['2003.05.21', 27.0], ['2003.05.22', 36.0],['2003.05.24', 25.0], ['2003.05.27', 32.0]])
- #
- # returns 2Darray without dates, only values which were found in same dates on both input arrays
- # return format [value1:value2:value3:...valueN, value1:value2:value3...valueN]
- # return example from previous input [[25 (from date 2003.05.21);32 (from date 2003.05.22)];[27 (from date 2003.05.21);36 (from date 2003.05.22)]]
- #
- ######################
- def correctData(garaisMasivs, isaisMasivs):
- dataArray = []
- saraksts = list()
- xi=0 #==========iisaa masiiva counteris
- yi=0 #==========garaa masiiva counteris
- yc=0 #==========garaa masiiva countera counteris :D
- garaMasivaGarums=len(garaisMasivs)-1 #======miinus viens, jo masiivaa pirmais ir nultais elements
- isaMasivaGarums=len(isaisMasivs)-1
- tmpArray=[[]*2 for x in xrange(2)] #========definee 2d masiivu
- while xi<=isaMasivaGarums: #========divi while cikli viens ieksh otra. flowcontrols taads, ka tikai vienu reizi iziet cauri
- #========masiivam atrodot vai nu elements ir "agraak", "veelaak", vai sakriit.
- yi=yc
- while yi<=garaMasivaGarums: #==========cikls, kursh skataas, vai visi garaa masiiva elementi apskatiiti; to pasaka yi (gara masiiva) counteris
- if get_date(isaisMasivs[xi][0])<get_date(garaisMasivs[yi][0]):
- #print "agraaks", xi, yi, garaisDatums, isaisDatums, garaisMasivs[xi-1][1]
- yi=len(garaisMasivs) #======break aizstaajeejs, ja ir lielaaks, tad pa taisno iet no garaa masiiva cikla aaraa
- elif get_date(isaisMasivs[xi][0])>get_date(garaisMasivs[yi][0]):
- yi+=1 #=========naakoshais garaa masiiva elements svariigs.
- yc=yi #=========NO kura elementa turpinaat iisajaa masiivaaa!
- else:
- tmpArray[0].append(garaisMasivs[yi][1])
- tmpArray[1].append(isaisMasivs[xi][1])
- break
- xi=xi+1
- return tmpArray
- #additional function get_date
- def get_date(record):
- return datetime.strptime(record, '%Y.%m.%d')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement