Масштабировать / преобразовывать / нормализовать массив NumPy между двумя значениями - PullRequest
1 голос
/ 19 июня 2019

У меня есть следующий сценарий:

value_range = [250.0, 350.0]
precision = 0.01
unique_values = len(np.arange(min(values_range), 
                              max(values_range) + precision, 
                              precision))

Это означает, что все значения находятся в диапазоне от 250,0 до 350,0 с точностью до 0,01, что дает потенциальную сумму 10001 уникальных значений, которые может иметь набор данных.

# This is the data I'd like to scale
values_to_scale = np.arange(min(value_range), 
                            max(value_range) + precision, 
                            precision) 

# These are the bins I want to assign to
unique_bins = np.arange(1, unique_values + 1)

В приведенном выше примере вы можете видеть, что каждое значение в values_to_scale будет точно соответствовать соответствующему элементу в массиве unique_bins. То есть значение 250,0 (values_to_scale[0]) будет равно 1,0 (unique_bins[0]) и т. д.

Однако, если мой values_to_scale массив выглядит так:

values_to_scale = np.array((250.66, 342.02)) 

Как я могу сделать масштабирование / преобразование, чтобы получить уникальное значение bin? То есть 250.66 должно равняться значению 66, но как мне получить это?

ПРИМЕЧАНИЕ Значение value_range может равняться от -1 до 1, я просто ищу общий способ масштабирования / нормализации данных между двумя значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...