Пример #1
0
def get_all_stats(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        _min, _max, _range = get_min_max_range_for_field(field_name, xform)
        mode = get_mode_for_field(field_name, xform)
        mean = get_mean_for_field(field_name, xform)
        median = get_median_for_field(field_name, xform)
        data[field_name] = {
            'mean': round(mean, DECIMAL_PRECISION),
            'median': median,
            'mode': round(mode, DECIMAL_PRECISION),
            'max': _max,
            'min': _min,
            'range': _range
        }
    return data
Пример #2
0
def get_all_stats(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        _min, _max, _range = get_min_max_range_for_field(field_name, xform)
        mode = get_mode_for_field(field_name, xform)
        mean = get_mean_for_field(field_name, xform)
        median = get_median_for_field(field_name, xform)
        data[field_name] = {
            'mean': round(mean, DECIMAL_PRECISION),
            'median': median,
            'mode': round(mode, DECIMAL_PRECISION),
            'max': _max,
            'min': _min,
            'range': _range
        }
    return data
Пример #3
0
 def numeric_converter(self, json_dict, numeric_fields=None):
     if numeric_fields is None:
         numeric_fields = get_numeric_fields(self.xform)
     for key, value in json_dict.items():
         if isinstance(value, basestring) and key in numeric_fields:
             converted_value = numeric_checker(value)
             if converted_value:
                 json_dict[key] = converted_value
         elif isinstance(value, dict):
             json_dict[key] = self.numeric_converter(value, numeric_fields)
         elif isinstance(value, list):
             for k, v in enumerate(value):
                 if isinstance(v, basestring) and key in numeric_fields:
                     converted_value = numeric_checker(v)
                     if converted_value:
                         json_dict[key] = converted_value
                 elif isinstance(v, dict):
                     value[k] = self.numeric_converter(v, numeric_fields)
     return json_dict
Пример #4
0
 def numeric_converter(self, json_dict, numeric_fields=None):
     if numeric_fields is None:
         numeric_fields = get_numeric_fields(self.xform)
     for key, value in json_dict.items():
         if isinstance(value, basestring) and key in numeric_fields:
             converted_value = numeric_checker(value)
             if converted_value:
                 json_dict[key] = converted_value
         elif isinstance(value, dict):
             json_dict[key] = self.numeric_converter(value, numeric_fields)
         elif isinstance(value, list):
             for k, v in enumerate(value):
                 if isinstance(v, basestring) and key in numeric_fields:
                     converted_value = numeric_checker(v)
                     if converted_value:
                         json_dict[key] = converted_value
                 elif isinstance(v, dict):
                     value[k] = self.numeric_converter(v, numeric_fields)
     return json_dict
Пример #5
0
def get_min_max_range(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        _min, _max, _range = get_min_max_range_for_field(field_name, xform)
        data[field_name] = {'max': _max, 'min': _min, 'range': _range}
    return data
Пример #6
0
def get_mode_for_numeric_fields_in_form(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        mode = get_mode_for_field(field_name, xform)
        data.update({field_name: round(mode, DECIMAL_PRECISION)})
    return data
Пример #7
0
def get_median_for_numeric_fields_in_form(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        median = get_median_for_field(field_name, xform)
        data.update({field_name: median})
    return data
Пример #8
0
def get_min_max_range(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        _min, _max, _range = get_min_max_range_for_field(field_name, xform)
        data[field_name] = {'max': _max, 'min': _min, 'range': _range}
    return data
Пример #9
0
def get_mode_for_numeric_fields_in_form(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        mode = get_mode_for_field(field_name, xform)
        data.update({field_name: round(mode, DECIMAL_PRECISION)})
    return data
Пример #10
0
def get_median_for_numeric_fields_in_form(xform, field=None):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        median = get_median_for_field(field_name, xform)
        data.update({field_name: median})
    return data
Пример #11
0
def get_mean_for_numeric_fields_in_form(xform, field):
    data = {}
    for field_name in [field] if field else get_numeric_fields(xform):
        mean = get_mean_for_field(field_name, xform)
        data.update({field_name: np.round(mean, DECIMAL_PRECISION)})
    return data