Ich habe eine große CSV-Datei, ca. 6 GB, und es dauert eine lange Zeit, um auf Python zu laden. Ich erhalte die folgende Fehlermeldung:Fehler beim Laden von .csv-Datei mit Pandas in Python
import pandas as pd
df = pd.read_csv('nyc311.csv', low_memory=False)
Python(1284,0x7fffa37773c0) malloc: *** mach_vm_map(size=18446744071562067968) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 646, in parser_f
return _read(filepath_or_buffer, kwds)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 401, in _read
data = parser.read()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 939, in read
ret = self._engine.read(nrows)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/io/parsers.py", line 1508, in read
data = self._reader.read(nrows)
File "pandas/parser.pyx", line 851, in pandas.parser.TextReader.read (pandas/parser.c:10438)
File "pandas/parser.pyx", line 939, in pandas.parser.TextReader._read_rows (pandas/parser.c:11607)
File "pandas/parser.pyx", line 2024, in pandas.parser.raise_parser_error (pandas/parser.c:27037)
pandas.io.common.CParserError: Error tokenizing data. C error: out of memory
Ich glaube nicht, dass ich den Fehlercode bin zu verstehen, die letzte Zeile scheint darauf hinzudeuten, dass die Datei zu groß ist, zu laden? Ich habe auch versucht low_memory=FALSE
Option, aber das hat auch nicht funktioniert.
Ich bin mir nicht sicher, was "Region nicht zuordnen" bedeuten kann, könnte es möglich sein, dass die Kopfzeile "Region" enthält und Pandas die Spalte darunter nicht finden können?
müssen Sie die Datei in Stücke lesen. Verwenden Sie den 'Chunksize' Parameter –
Nur ein Kopf auf eine andere Ursache davon in Pandas 0.20.3, ich habe die *** Fehler: kann nicht Region *** zuordnen einen Haltepunkt in malloc_error_break zu Debug-Fehler in einem Skript, dass Ich lief zuletzt in einer früheren Pandas Version. Die Ursache in diesem Fall oder zumindest die Sache, die den Fehler behoben hat, war die Option low_memory = False. Das Skript lädt ein großes (1,2 GB) Dataset, aber mit 32 GB RAM und es lädt größere Datensätze glücklich auf demselben Rechner, aber mein Skript ist fehlgeschlagen bei df = pd.read_csv (DatasetName, low_memory = False) bis low_memory = False wurde entfernt. – jnPy