Numpy modyfikacji tablicy w miejscu?

Mam następujący kod, który próbuje znormalizować wartości anm x n tablica (będzie używana jako wejście do sieci neuronowej, gdziem to liczba przykładów szkoleń in to liczba funkcji).

Jednak gdy sprawdzam tablicę w interpreterze po uruchomieniu skryptu, widzę, że wartości nie są znormalizowane; to znaczy, że wciąż mają oryginalne wartości. Chyba dlatego, że przypisanie doarray zmienna wewnątrz funkcji jest widoczna tylko w obrębie funkcji.

Jak mogę wykonać tę normalizację? Czy muszę zwrócić nową tablicę z funkcji normalizacji?

<code>import numpy

def normalize(array, imin = -1, imax = 1):
    """I = Imin + (Imax-Imin)*(D-Dmin)/(Dmax-Dmin)"""

    dmin = array.min()
    dmax = array.max()

    array = imin + (imax - imin)*(array - dmin)/(dmax - dmin)
    print array[0]


def main():

    array = numpy.loadtxt('test.csv', delimiter=',', skiprows=1)
    for column in array.T:
        normalize(column)

    return array

if __name__ == "__main__":
    a = main()
</code>

questionAnswers(4)

yourAnswerToTheQuestion