작성
·
245
1
안녕하세요.
먼저 좋은 강의 올려 주셔서 감사합니다.
"캐글 설문조사로 데이터 분석 입문하기" 수강하면서 강의가 너무 좋아
"공공 데이타.." 강의도 수강하게 되었습니다.
강의를 듣고 있는 중에 실제 현업에 적용시 궁금한 사항이 있어서 이렇게 질문을 남깁니다.
• pandas를 이용해 전처리를 수행 중에 대용량 데이터 건수를 전처리 하는 기능.
병렬 프로세스가 아닌 분산 환경에서 전처리를 할 수 있는 방법이 있을까요?
또 분산 환경에서 전처리를 수행할 경우 성능 개선 및 안정성, 효용성이 좋은 기술이 있을지 궁금합니다.
인터넷으로 검색하다 보면 modin/dask 등 몇 개의 라이브러리가 있던데 성능과 안정성, 유용성 등을 실제
경험해 보지 않아서 잘 모르겟습니다.
답변 1
0
안녕하세요. 수강해 주셔서 감사합니다.
pandas 는 엑셀에 비해 대용량 데이터를 처리할 수 있지만 사용하고 있는 장비의 메모리나 CPU성능에 따라 성능차이가 많이 발생하게 됩니다.
또 메모리 4G정도의노트북에서 1G이상의 파일을 불러와서 처리하는 것도 부담이 되긴 합니다.
이럴 때 modin/dask 같은 라이브러리를 사용하는데 이런 라이브러리들은 메모리에 데이터프레임을 한번에 로드하지 않습니다.
그래서 pandas 만을 사용했을 때보다 메모리를 훨씬 효율적으로 사용할 수 있는데요.
데이터를 저장하고 관리할 때 어떤 형식으로 관리하는지도 이슈가 될 수 있습니다.
Parquet 라는 파일 형식을 사용하게 되면 행단위로 데이터를 관리하지 않고 컬럼단위로 관리하게 되는데 이렇게 관리하면 데이터 타입에 따라 낭비되는 메모리를 줄일 수 있습니다.
Parquet 로 검색을 추천합니다.