在范围之间的Numpy拟合值

时间:2017-09-28 17:37:54

标签: python numpy

我在一个范围内的数值范围内有一个数组:[0, 255] (ubyte)并希望将其重新映射到新范围[0.0, 1.0](float)

x = [0, 127, 255]

应该成为

x = [0.0, 0.5, 1.0]

帖子Convert a number range to another range, maintaining ratio是如何重新映射范围的一般方法,但没有解释如何在numpy中方便地进行操作。

1 个答案:

答案 0 :(得分:1)

只需使用数组上的division '/'操作数:

这适用于element-wise操作,因此您可'divide' array 255 map import numpy as np x = np.array([0,127,255], dtype="uint8") x = x / 255 的值,如下所示:

array([0, 0.49803922, 1])

给出:

[0,0.5,1]

它没有给出127的结果,因为255不是umd的一半!