2016-05-12 6 views
-1

Ich hatte eine Frage in Bezug auf Speicherfehler beim Arbeiten mit großen CSV-Dateien mit Pandas Dataframe. Um es klarer zu sagen, ich stelle eine andere Frage: Ich habe Speicherfehler beim Zusammenführen großer CSV-Dateien (mehr als 30 Millionen Zeilen). Also, was ist die Lösung dafür? Vielen Dank!Python Pandas Speicherfehler beim Zusammenführen großer CSV-Dateien

+0

Sie können Ihre CSV-Datei per Streaming CSV-Datei, lesen Sie bitte diese [Beitrag] lesen (http://stackoverflow.com/questions/17444679/reading- a-riesen-csv-in-python). Oder Sie können mehr RAM in Ihrem PC kaufen und hinzufügen! Wenn Sie viel maschinelles Lernen/tiefe Lernarbeit machen müssen, dann ist das wahrscheinlich die beste Lösung. –

+1

Holen Sie mehr Speicher ... – Alexander

+0

Das Problem ist nicht die Dateien zu lesen. Nehmen wir an, ich habe die Dateien gelesen und möchte sie basierend auf einer der Variablen zusammenführen. Ich bekomme eine Fehlermeldung beim Zusammenführen der Tabellen. –

Antwort

0

Die Verwendung von Python/Pandas zur Verarbeitung von Datensätzen mit mehreren zehn Millionen Zeilen ist nicht ideal. Anstatt eine massive CSV-Datei zu verarbeiten, sollten Sie Ihre Daten in eine Datenbank wie Redshift einlagern, wo Sie Ihre Daten tausende Male schneller abfragen und manipulieren können als mit Pandas. Sobald sich Ihre Daten in einer Datenbank befinden, können Sie SQL verwenden, um Ihre Daten zu "mundgroßen" Exporten und Extrakten für lokale Analysen mit Pandas zu aggregieren, zu filtern und umzuformulieren, wenn Sie möchten.

Verwenden Sie langfristig Spark, ein verteiltes Datenanalyse-Framework, das auf Scala basiert. Es hat definitiv eine steilere Lernkurve als Pandas, aber leiht viele der Kernkonzepte aus.

Rotverschiebung: https://aws.amazon.com/redshift/

Funke: http://spark.apache.org/

+0

++ für die Verwendung von Spark! – MaxU

Verwandte Themen