Ich lese eine CSV-Datei in Python und erstellen Sie eine 4664605 x 4-Array. Ich möchte eine Matrix. Also benutze ich die Funktion numpy.pad (wit constant value = 0) um eine 4664605 x 4664605 Matrix zu erstellen. Aber ich habe folgende Fehler messaage:Speicherfehler in Python mit numpy.pad Funktion
Traceback (jüngste Aufforderung zuletzt): Datei "C: \ Benutzer \ Angelika \ Eclipse-\ Projects \ vonNeumann \ vonNeumann.py", Zeile 7, in A_New = np.pad (A, ((0,0), (0,4664601)), 'Konstante', Konstante_Werte = (0)) Datei "C: \ Anaconda \ lib \ Site-Pakete \ numpy \ lib \ arraypad .py ", Zeile 1394, in Pad newmat = _append_const (newmat, pad_after, after_val, Achse) Datei" C: \ Anaconda \ lib \ Site-Pakete \ numpy \ lib \ arraypad.py ", Zeile 138, in _append_const zurückgeben np.concatenate ((arr, np.zeros (padshape, dtype = arr.dtype)), MemoryError
Ich habe die maximale Größe meines Systems im Falle eines Überlaufs überprüft, aber es ist in Ordnung. Genauer gesagt, sys.maxsize = 9223372036854775807 und Matrixgröße = 21758539806025. Das Problem ist, dass beim Anhängen von Zeilen alles in Ordnung ist. Das heißt, das Ergebnis ist ein 9329210 × 4 Array. Aber ich kann keine 4664601 Spalten hinzufügen, um eine Matrix zu haben. Ich weiß nicht, was ich tun soll.
Vielen Dank, Angelika
Bitte geben Sie Ihren Code ein. – Will
Das ist irgendwo in der Nähe von 87 Terabyte Speicher, die Sie brauchen, um dieses absurde Array zu konstruieren, unter der Annahme eines 4-Byte-Dtypes. Sind Sie sicher, dass Sie verstehen, was Sie tun? – user2357112
Nein, ich hatte es nicht verstanden. Vielen Dank für Ihren wertvollen Kommentar. Jetzt erkenne ich auch hpauljs Antwort. Wirklich dankbar! – Angelika