Hauptspeicherprobleme beim Einlesen einer CSV-Datei mit numpy

Ich habe den KDD-Track1-Datensatz von Kaggle geholt und mich dazu entschlossen, eine ca. 2,5 GB große 3-Spalten-CSV-Datei auf meine 16 GB große EC2-Instanz mit hohem Speicher zu laden:

<code>data = np.loadtxt('rec_log_train.txt')
</code>

Die Python-Sitzung hat mein gesamtes Gedächtnis aufgebraucht (100%) und wurde dann getötet.

Ich habe dann dieselbe Datei mit R (über read.table) gelesen und weniger als 5 GB RAM verwendet, was auf weniger als 2 GB zusammenfiel, nachdem ich den Garbage Collector angerufen hatte.

Meine Frage ist, warum dies unter Numpy fehlgeschlagen ist und wie eine Datei ordnungsgemäß in den Speicher eingelesen werden kann. Ja, ich kann Generatoren verwenden und das Problem vermeiden, aber das ist nicht das Ziel.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage