Was ist die Schnellste Möglichkeit zum hochladen einer großen csv-Datei in die notebook-Arbeit mit python pandas?

Ich versuche zum hochladen einer csv-Datei, die 250MB. Grundsätzlich 4 Millionen Zeilen und 6 Spalten von Zeitreihen-Daten (1min). Das übliche Verfahren ist:

location = r'C:\Users\Name\Folder_1\Folder_2\file.csv'
df = pd.read_csv(location)

Dieser Vorgang dauert etwa 20 Minuten !!!. Sehr vorläufige, die ich untersucht haben, die folgenden Optionen

Ich Frage mich, ob jemand hat im Vergleich dieser Optionen (oder mehr) und es gibt einen klaren Gewinner. Wenn niemand antwortet, In der Zukunft werde ich meine Ergebnisse. Ich habe gerade nicht die Zeit jetzt.

  • Es würde helfen, zu verstehen, die Struktur Ihrer Daten, manchmal auch die Angabe im Voraus die dtypes hilft mit read_csv
  • Dies scheint zu sein, a duplicate.
  • Auf im HDF5 vs .read_csv() Geschwindigkeit und Platz braucht, finden Sie unter stackoverflow.com/questions/16639877/...
  • es gibt nicht eine Antwort, vergleicht 'Gurke', im HDF5, 'Federn', 'chunking' in einem Beispiel. Es wäre eine gute Referenz, die Frage zu haben, in die Website.
  • Mit Ausnahme der Feder, der andere bedeckt erscheinen. Wie dem auch sein mag, ich vermute, Ihr problem könnte tiefer sein als Python. Ist die Lage tatsächlich das kopieren über ein Netzwerk, die möglicherweise die Drosselung der Daten? Oder ist die Maschine, an der dieser code ausgeführt memory verhungert und so, swapping / Prügel? Es scheint unzumutbar, für jede dieser Methoden für 20 Minuten zum laden 250MB Daten.
  • ich würde nur überlegen HDF5 und feather (es könnte sein, schwierig und schmerzhaft zu bauen, die es für Windows, OS) - der rest wird definitiv langsamer sein
  • Vergessen Sie nicht über Blaze. blaze.readthedocs.io/en/latest/index.html
  • Gibt es einen Grund, Sie können nicht gzip es?
  • ich habe GZIP zu meinem Vergleich
  • Es gibt auch andere alternativen: Parkett, asdf, TileDB...

InformationsquelleAutor hernanavella | 2016-05-03
Schreibe einen Kommentar