-1

所以假设我有这样的事情:

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]

任何帮助将不胜感激!

4

1 回答 1

0

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

于 2013-06-18T22:29:17.937 回答