def getResampledTimeRange(rangeRef, rangeTolerance, timeRef, time, timeTolerance, dataToResample, year, month, day, height_M): year = int(year) month = int(month) day = int(day) usedIndexRange = np.ones(len(rangeRef)) * np.nan timeConv = convCloudTime2HumTime(time) humanTime = pd.datetime(year, month, day) + pd.to_timedelta( np.array(timeConv), unit='s') #humanTime=time #Remove duplicates varData = pd.DataFrame() varDataTemp = pd.DataFrame(index=humanTime, columns=height_M, data=dataToResample) varDataTemp['times'] = humanTime varDataTemp = varDataTemp.sort_values(by=['times'], ascending=[True]) varDataTemp = varDataTemp.drop_duplicates(subset=['times']) varData = varData.append(varDataTemp) #Resample in time timeIndexList = trLib.getIndexList(varData, timeRef, timeTolerance) emptyDataFrame = pd.DataFrame(index=timeRef, columns=varData.columns) resampledTime = trLib.getResampledDataPd(emptyDataFrame, varData, timeIndexList) timeDeviation = trLib.getDeviationPd(timeRef, resampledTime, timeTolerance) del resampledTime['times'] resampledTime = resampledTime.T #Resample in range resampledTime['ranges'] = height_M rangeIndexList = trLib.getIndexList(resampledTime, rangeRef, rangeTolerance) emptyDataFrame = pd.DataFrame(index=rangeRef, columns=resampledTime.columns) resampledTimeRange = trLib.getResampledDataPd(emptyDataFrame, resampledTime, rangeIndexList) rangeDeviation = trLib.getDeviationPd(rangeRef, resampledTimeRange) del resampledTimeRange['ranges'] resampledTimeRangeArr = np.array(resampledTimeRange[:], float) resampledTimeRangeArr = np.ma.masked_invalid(resampledTimeRangeArr) return resampledTimeRangeArr
def getDFResampledTime(timeRef, timeTolerance, dataFrameToResample): #Remove duplicates varDataTemp = dataFrameToResample varDataTemp['times'] = varDataTemp.index varDataTemp = varDataTemp.sort_values(by=['times'], ascending=[True]) varDataTemp = varDataTemp.drop_duplicates(subset=['times']) #Resample in time timeIndexList = trLib.getIndexList(varDataTemp, timeRef, timeTolerance) emptyDataFrame = pd.DataFrame(index=timeRef, columns=varDataTemp.columns) resampledTime = trLib.getResampledDataPd(emptyDataFrame, varDataTemp, timeIndexList) timeDeviation = trLib.getDeviationPd(timeRef, resampledTime, timeTolerance) del resampledTime['times'] #resampledTime = resampledTime.T return resampledTime
# var[var==-32] = np.nan var = np.ma.masked_invalid(var) np.ma.set_fill_value(var, np.nan) varDataTemp = pd.DataFrame(index=humamTimeW, columns=ranges, data=var) varDataTemp['times'] = humamTimeW varDataTemp = varDataTemp.sort_values(by=['times'], ascending=[True]) varDataTemp = varDataTemp.drop_duplicates(subset=['times']) varData = varData.append(varDataTemp) rootgrp.close() try: #resample in time timeIndexList = trLib.getIndexList(varData, timeRef, timeTolerance) emptyDataFrame = pd.DataFrame(index=timeRef, columns=varData.columns) resampledTime = trLib.getResampledDataPd(emptyDataFrame, varData, timeIndexList) timeDeviation = trLib.getDeviationPd(timeRef, resampledTime, timeTolerance) del resampledTime['times'] resampledTime = resampledTime.T except: print 'No Times' try: #resample in range resampledTime['ranges'] = ranges rangeIndexList = trLib.getIndexList(resampledTime, rangeRef, rangeTolerance)