Ich dachte, ich würde mehr Daten in die Diskussion einbringen.
Ich habe eine Reihe von Tests zu diesem Thema durchgeführt.
Durch die Verwendung des Python- resource
Pakets habe ich die Speichernutzung meines Prozesses erhalten.
Und indem StringIO
ich die CSV in einen Puffer schreibe , kann ich die Größe leicht in Bytes messen.
Ich habe zwei Experimente durchgeführt, bei denen jeweils 20 Datenrahmen mit zunehmender Größe zwischen 10.000 und 1.000.000 Zeilen erstellt wurden. Beide haben 10 Spalten.
Im ersten Experiment habe ich nur Floats in meinem Datensatz verwendet.
Auf diese Weise erhöhte sich der Speicher im Vergleich zur CSV-Datei in Abhängigkeit von der Anzahl der Zeilen. (Größe in Megabyte)
Beim zweiten Experiment hatte ich den gleichen Ansatz, aber die Daten im Datensatz bestanden nur aus kurzen Zeichenfolgen.
Es scheint, dass das Verhältnis der Größe des CSV und der Größe des Datenrahmens sehr unterschiedlich sein kann, aber die Größe des Speichers wird immer um den Faktor 2-3 größer sein (für die Rahmengrößen in diesem Experiment).
Ich würde diese Antwort gerne mit weiteren Experimenten vervollständigen. Bitte kommentieren Sie, wenn ich etwas Besonderes ausprobieren soll.
top
und dannShift + M
meine Speichernutzung zu sortieren.