コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
#     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)