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>