Numpy Array an Ort und Stelle ändern?

Ich habe den folgenden Code, der versucht, die Werte von a zu normalisierenm x n Array (Wird als Eingabe für ein neuronales Netzwerk verwendet, in demm ist die Anzahl der Trainingsbeispiele undn ist die Anzahl der Features).

Wenn ich jedoch das Array im Interpreter nach der Ausführung des Skripts überprüfe, sehe ich, dass die Werte nicht normalisiert sind. Das heißt, sie haben immer noch die ursprünglichen Werte. Ich denke das liegt an der Zuordnung zumarray Variable innerhalb der Funktion wird nur innerhalb der Funktion gesehen.

Wie kann ich diese Normalisierung durchführen? Oder muss ich ein neues Array von der Normalisierungsfunktion zurückgeben?

<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>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage