规范化范围之间的值列表

时间:2013-06-18 22:21:53

标签: python normalize

所以让我说我有这样的事情:

values = [10.0, 12.0, 14.0, 16.0, 18.0, 20.0]

我基本上想要将列表中的所有内容乘以2的幂,但然后将其归一化到它所在的范围内。

这就是我尝试这样做的方式,但没有得到我预期的结果。

minVal = min(values)
maxVal = max(values)

normValues = [((q**2)-minVal)/(maxVal - minVal) for q in values]

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

很明显,当您对列表中的每个值进行平方并将其归一化时,您无法将它们恢复到相同的范围内。 例如:如果你选择[2, 3, 5]。 平方后,您将获得[4, 9, 25]。 您可以使范围在0到1之间进行标准化,即将所有元素除以获得[0.16, 0.36, 1]的最大值。 我不认为这个列表可以缩减,使得范围变得与以前相同。 如果我错了,请纠正我。