我有一个函数可以将数组重新调整为介于0.0和1.0之间的值,但我不知道如何将返回的数组重新调整为用户定义的新的最小/最大范围。问题提示是“重写重新调整功能,以便它默认将数据缩放到0.0到1.0之间,但如果他们想要,则允许调用者指定下限和上限”
下面是我当前数组和测试的代码。我知道我将不得不添加一个额外的默认最小/最大参数,但我对python和编程一般都很新,而且我不知道如何继续。任何帮助表示赞赏。
import numpy
def rescale(input):
revalue = []
Amax = input.max()
Amin = input.min()
print Amax
print Amin
print input
for x in input:
value = [(x-Amin)/(Amax-Amin)]
revalue.append(value)
print revalue
# Tests:
rescale(numpy.arange(10, dtype=np.float))
# Output
9.0
0.0
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
[[0.0], [0.1111111111111111], [0.22222222222222221], [0.33333333333333331], [0.44444444444444442], [0.55555555555555558], [0.66666666666666663], [0.77777777777777779], [0.88888888888888884], [1.0]]