작성
·
2.1K
답변 1
0
안녕하세요.
1. Pandas 가 처리할 수 있는 용량은 메모리 용량과 파일사이즈, 그리고 사용하고 있는 프로그램들이 사용하고 있는 메모리양도 중요합니다.
예를 들어 8G 메모리를 사용중인데 포토샵이나 크롬브라우저에서 이미 4G를 사용하고 있다면 주피터 노트북으로 가져와서 사용할 수 있는 메모리는 4G 이하로 줄어들 것입니다.
주피터 노트북이 느리거나 메모리 문제로 질문 주시는 분들 중에 이미 다른 프로그램을 많이 실행시켜 두어서 메모리 사용량이 적은 문제를 겪는 분들도 많으십니다.
그래서 대용량 파일을 불러와서 작업을 할 때는 메모리를 많이 차지하는 프로그램은 종료를 해야지 메모리를 더 많이 사용할 수 있습니다.
또 다른 주피터 노트북에서 이미 메모리를 많이 사용하고 있다면 그것도 꺼두시는게 더 많은 메모리를 사용할 수 있습니다.
아니면 재시작 하는게 나을 수도 있습니다.
그럼 이렇게 주피터 노트북이 사용할 수 있는 메모리 공간을 최대로 확보했다면 파일사이즈의 2~3배 정도의 메모리 공간이 있어야 로드해서 작업하는데 적당합니다.
파일을 로드하고 파생변수를 만들거나 데이터프레임을 복사하는 작업 등을 하면 그 만큼 메모리 용량이 늘어나게 됩니다.
2. 파일 사이즈가 큰 데이터는 모든 데이터가 필요하지 않을거에요.
그래서 해당 파일에서 필요한 내용만 서브셋으로 가져와서 사용하시는 것을 권장해요.
로드 > 서브셋 가져오기 > 파일로 저장하기 이렇게 하면 대용량 파일 여러개의 용량을 줄여서 사용할 수 있습니다.
그리고 기본 타입의 설정을 변경하는 것도 메모리 사용량을 줄이는데 도움이 됩니다.
예를 들어 숫자인데 문자로 되어 있다든지 숫자의 길이를 제한한다든지 int64 => int8로 줄이는 방법 등이 있습니다.
또, Dask 같은 라이브러리를 사용하는 방법도 있습니다.
이건 추가로 검색해 보시는 걸 추천해요.