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)