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)
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
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
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)
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
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
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)