如何规范化 Elixir 中的数字列表?
How to normalize a list of numbers in Elixir?
最有效的方法是什么? (对于大量的数字)?
我找不到这个问题的可靠答案。
一个从 Enum.min_max/2
or Enum.min_max_by/3
if the normalization is somehow custom. Then one just Enum.map/2
原始列表开始,使用步骤 1 中的值进行规范化。
input = [1, 5, -2]
{min, max} = Enum.min_max(input)
{new_min, new_max} = {0, 1}
Enum.map(input,
& new_min+((&1-min)/(max-min)*(new_max-new_min)))
#⇒ [0.42857142857142855, 1.0, 0.0]
最有效的方法是什么? (对于大量的数字)? 我找不到这个问题的可靠答案。
一个从 Enum.min_max/2
or Enum.min_max_by/3
if the normalization is somehow custom. Then one just Enum.map/2
原始列表开始,使用步骤 1 中的值进行规范化。
input = [1, 5, -2]
{min, max} = Enum.min_max(input)
{new_min, new_max} = {0, 1}
Enum.map(input,
& new_min+((&1-min)/(max-min)*(new_max-new_min)))
#⇒ [0.42857142857142855, 1.0, 0.0]