如何通过将其域更改为新的目标域来重新映射数字列表?
How can I remap list of numbers by changing its domain to a new target domain?
我有这些数字:
- 0.477486
- 0.627644
- 0.763021
- 0.857888
- 0.892062
- 0.857888
- 0.763021
- 0.627644
0.477486
我想将它们重新映射到新的目标域,例如 0 到 10 而不是 0.477486 到 0.892062。
你可以使用这个方法:
>>> l = [0.477486, 0.627644, 0.763021, 0.857888, 0.892062,
0.857888, 0.763021, 0.627644, 0.477486]
>>> print([(i - min(l)) * 10 / (max(l) - min(l)) for i in l])
这应该打印
[0.0, 3.6219655744664423, 6.887398209254755, 9.17568793176643, 10.0, 9.17568793176643, 6.887398209254755, 3.6219655744664423, 0.0]
我有这些数字:
- 0.477486
- 0.627644
- 0.763021
- 0.857888
- 0.892062
- 0.857888
- 0.763021
- 0.627644
0.477486
我想将它们重新映射到新的目标域,例如 0 到 10 而不是 0.477486 到 0.892062。
你可以使用这个方法:
>>> l = [0.477486, 0.627644, 0.763021, 0.857888, 0.892062,
0.857888, 0.763021, 0.627644, 0.477486]
>>> print([(i - min(l)) * 10 / (max(l) - min(l)) for i in l])
这应该打印
[0.0, 3.6219655744664423, 6.887398209254755, 9.17568793176643, 10.0, 9.17568793176643, 6.887398209254755, 3.6219655744664423, 0.0]