• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

PANDAS로 처리가 가능한 데이터 용량 관련

20.10.16 11:34 작성 조회수 1.62k

1

데이터 처리에 대한 내용을 학습하다보니  2가지 문의를 드립니다.

1. Pandas가 처리 할수 있는 용량을 확인 한다면 메모리 기준으로 어느정도가 적당하고, 최대로 가능한가요??

2. 처리기준 최대가 넘어가는 큰사이즈의 데이터의 전처리 대안은 무엇이 있을까요 ?

답변 1

답변을 작성해보세요.

0

안녕하세요.

1. Pandas 가 처리할 수 있는 용량은 메모리 용량과 파일사이즈, 그리고 사용하고 있는 프로그램들이 사용하고 있는 메모리양도 중요합니다.

예를 들어 8G 메모리를 사용중인데 포토샵이나 크롬브라우저에서 이미 4G를 사용하고 있다면 주피터 노트북으로 가져와서 사용할 수 있는 메모리는 4G 이하로 줄어들 것입니다.

주피터 노트북이 느리거나 메모리 문제로 질문 주시는 분들 중에 이미 다른 프로그램을 많이 실행시켜 두어서 메모리 사용량이 적은 문제를 겪는 분들도 많으십니다.

그래서 대용량 파일을 불러와서 작업을 할 때는 메모리를 많이 차지하는 프로그램은 종료를 해야지 메모리를 더 많이 사용할 수 있습니다.

또 다른 주피터 노트북에서 이미 메모리를 많이 사용하고 있다면 그것도 꺼두시는게 더 많은 메모리를 사용할 수 있습니다.

아니면 재시작 하는게 나을 수도 있습니다.

그럼 이렇게 주피터 노트북이 사용할 수 있는 메모리 공간을 최대로 확보했다면 파일사이즈의 2~3배 정도의 메모리 공간이 있어야 로드해서 작업하는데 적당합니다.

파일을 로드하고 파생변수를 만들거나 데이터프레임을 복사하는 작업 등을 하면 그 만큼 메모리 용량이 늘어나게 됩니다.

2. 파일 사이즈가 큰 데이터는 모든 데이터가 필요하지 않을거에요.

그래서 해당 파일에서 필요한 내용만 서브셋으로 가져와서 사용하시는 것을 권장해요.

로드 > 서브셋 가져오기 > 파일로 저장하기 이렇게 하면 대용량 파일 여러개의 용량을 줄여서 사용할 수 있습니다.

그리고 기본 타입의 설정을 변경하는 것도 메모리 사용량을 줄이는데 도움이 됩니다.

예를 들어 숫자인데 문자로 되어 있다든지 숫자의 길이를 제한한다든지 int64 => int8로 줄이는 방법 등이 있습니다.

또, Dask 같은 라이브러리를 사용하는 방법도 있습니다.

이건 추가로 검색해 보시는 걸 추천해요.