I have a list of objects and I want to scale the values between a known min and max. So if the known min and max are 100, 800, I'd want the result to be as follows:
{'cat' : 1, 'dog' : 3, 'chimp' : 8} -> {'cat' : 100, 'dog' : 300, 'chimp' : 800}
The Python/pandas implementation looks like this
def scale_size(old_value):
        if numbers_df['raw_size'].max() == 1:
            return 150
        old_value = float(old_value)
        old_max = numbers_df['raw_size'].max()
        old_min = numbers_df['raw_size'].min()
        new_max = 150
        new_min = 20
        old_range = old_max - old_min
        new_range = new_max - new_min
        new_value =  (((old_value - old_min) * new_range) / old_range) + new_min
        return int(new_value)
 
     
    