나는 8GB 램을 가진 우분투 랩톱을 가지고 있고 또한 2GB CSV 파일을 가지고있다. 그러나 팬더 방법을 사용할 때, 7GB RAM이없는 동안 램이 완전히 채워지는 나의 데이터를로드하기 위해서 read_csv 메쏘드를 사용할 때. 2GB 파일로 7GB RAM을 채우는 방법은 무엇입니까?CSV 파일을로드하는 동안 메모리 오류가 발생 했습니까?
답변
이유 각 열이 요구하는 매우 메모리가에 대한 추측이 dtypes 때문에 low_memory 경고가 수 있습니다 얻을. 팬더는 각 열의 데이터를 분석하여 설정할 dtype을 결정하려고합니다.
32 비트 시스템을 사용하는 경우 : Windows에서 32 비트 버전을 사용할 때 메모리 오류는 python에서 많이 발생합니다. 32 비트 프로세스는 기본적으로 2GB의 메모리 만 사용하기 때문입니다.
이 시도 :
tp = pd.read_csv('file_name.csv', header=None, chunksize=1000)
df = pd.concat(tp, ignore_index=True)
예 .dtype 때문에 dtype이 변환되어 일부 dtype 열을 변환했습니다. 감사. 친절하게 upvote –
도움이 답변을 받아들입니다. – harshil9968
내가 upvote하려고했지만 공개적으로 내가 미만 15 명성을 가지고 표시되지 않습니다;) –
는 chunksize 매개 변수의 사용을 만들려고 :
df = pd.concat((chunk for chunk in pd.read_csv('/path/to/file.csv', chunksize=10**4)),
ignore_index=True)
당신이 코드 질문을 동반 붙여 넣을 수 있습니까? –
다음 SO 스레드가 도움이 될 수 있습니다. http://stackoverflow.com/questions/19590966/memory-error-with-large-data-sets-for-pandas-concat-and-numpy-append http://stackoverflow.com/questions/17557074/memory-error-using-pandas-read-csv – Bharath