使用用户定义的最小值和最大值重新缩放Python数组

时间:2015-05-08 21:40:03

标签: python arrays numpy defaults rescale

我有一个函数可以将数组重新调整为介于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]]

0 个答案:

没有答案