1

我有一个函数可以将数组重新缩放到 0.0 到 1.0 之间的值,但是我不知道如何将返回的数组重新缩放到用户定义的新最小/最大范围。问题提示是“重写 rescale 函数,使其默认将数据缩放到 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]]
4

0 回答 0