def test_normalize_to_100g(self):
     """Normalize a row of weight based measurements (in grams) to 100g""" 
     flour = [1.0]
     milk = [3.75]
     egg = [1.01]
     butter = [0.16]
     columns = zip(flour, milk, egg, butter)
     new_columns = list(normalize_to_100g(columns))
     self.assertEquals(len(new_columns), 1)
     self.assertEquals(len(new_columns[0]), 4)
     self.assertAlmostEquals(new_columns[0][0], 16.9, 1)
     self.assertAlmostEquals(new_columns[0][1], 63.32, 1)
     self.assertAlmostEquals(new_columns[0][2], 17.05, 1)
     self.assertAlmostEquals(new_columns[0][3], 2.73, 1)
Пример #2
0
def calculate_statistics(raw_data, ingredients, zero_columns):
    """Calculate mean, confidence interval and minimum sample size for each
       ingredient.
    """
    raw_data = list(normalize_to_100g(raw_data))
    data = numpy.array(raw_data).transpose()
    if zero_columns is not None and len(zero_columns) > 0:
        filter_map = create_zero_filter(ingredients, zero_columns)
        data = filter_zeros(data, filter_map)
        _, _, defaults = calculate_variables(data)
        data = apply_defaults(raw_data, defaults, filter_map)
        return calculate_statistics(data, ingredients, None)
    else:
        intervals, std_deviations, means = calculate_variables(data)
        return Statistics(ingredients, intervals, std_deviations, means)
Пример #3
0
def normalize(ingredients, columns):
    """Tests were originally written with the axis swapped, so
         we use zip to swap back here so that the tests don't need
         to change"""
    columns = to_grams(ingredients, columns)
    return zip(*normalize_to_100g(columns))