Esempio n. 1
0
def current_percentile(percent):
    if is_distributed:
        # Flatten out the deque of lists and calculate the percentile to be returned
        return percentile(
            sorted([
                item for sublist in master_response_times for item in sublist
            ]), percent)
    else:
        return percentile(sorted(master_response_times), percent)
Esempio n. 2
0
def interquartile(x,type):
    if(type=='acc'):
        mean,percentile_75  = st.percentile(x,0.75,tol)
        mean,percentile_25 = st.percentile(x,0.25,tol)
        IQ = percentile_75-percentile_25
    if(type=='braking'):
        mean,percentile_75  = st.percentile(x,0.75,tol)
        mean,percentile_25 = st.percentile(x,0.25,tol)
        IQ = abs(percentile_75-percentile_25)
    return IQ
Esempio n. 3
0
    def calc_smiley_face(val, vals):
        sorted_vals = sorted([val] + vals)
        lbound = stats.percentile(sorted_vals, 0.33333)
        ubound = stats.percentile(sorted_vals, 0.66666)

        if val >= ubound:
            perc = "green"
        elif val >= lbound:
            perc = "yellow"
        else:
            perc = "red"
        return perc
Esempio n. 4
0
    def GetSimulationPercentile(self, I, p, date=False):
        variates = self.GetSimulationVariates(ID = I)
        variate = stats.percentile(variates, p)

        if date == True:

            return self.GetNetworkStart(asobject = True) + datetime.timedelta(variate)

        elif date == False:

            return int(variate)
Esempio n. 5
0
def sql_stats(meters, radius, tables):
    cache_o = {}
    
    to_query = {}
    keys = []
    lls = []
    for m in meters:
        p_center = [int(round(m[0])), int(round(m[1]))]
        key = str(p_center[0]) + '_' + str(p_center[1])
        if not key in to_query:
            to_query[key] = True
            keys.append(key)
            lls.append(gm.MetersToLatLon(p_center[0], p_center[1]))
    
        points = points_within_radius(gm.MetersToLatLon(m[0], m[1]), radius)[0]
        for mp in points:
            p = [int(round(mp[0])), int(round(mp[1]))]
            key = str(p[0]) + '_' + str(p[1])
            if not key in to_query:
                to_query[key] = True
                keys.append(key)
                lls.append(gm.MetersToLatLon(p[0], p[1]))
    
    offsets = get_offsets_linear(lls, tables)
    for i in range(0,len(keys)):
        cache_o[keys[i]] = offsets[i]
    
    percentiles = []
    for m in meters:
        p_center = [int(round(m[0])), int(round(m[1]))]
        key = str(p_center[0]) + '_' + str(p_center[1])
        offset_center = cache_o[key]
    
        points = points_within_radius(gm.MetersToLatLon(m[0], m[1]), radius)[0]
        offsets = []
        for mp in points:
            p = [int(round(mp[0])), int(round(mp[1]))]
            key = str(p[0]) + '_' + str(p[1])
            offsets.append(cache_o[key])
        
        percentiles.append(percentile(offsets, offset_center))
    
    return percentiles
Esempio n. 6
0
 def calculate_stats_num(self, name, per = [5,25,50,75,95]):
     # get columnt instance
     Col = self.get_column(name)
     # type validation
     assert Col.type == 'numerical', 'only possible numerical columns.'
     # get data
     data = self.get_data(name)
     # initialize
     dstats = dict()
     # calculate statistics
     dstats['mean'] = stats.mean(data)
     dstats['median'] = stats.median(data)
     dstats['std'] = stats.std(data)
     dstats['min'] = stats.min(data)
     dstats['max'] = stats.max(data)
     dstats['skew'] = stats.skew(data)
     dstats['kurtosis'] = stats.kurtosis(data)
     for ip in per:
         dstats['per%s'%ip] = stats.percentile(data, ip)
     # return
     Col.stats = dstats
Esempio n. 7
0
def current_percentile(percent):
    if is_distributed:
        # Flatten out the deque of lists and calculate the percentile to be returned
        return percentile(sorted([item for sublist in response_times for item in sublist]), percent)
    else:
        return percentile(sorted(response_times), percent)