티스토리 뷰



"예제를 따라 실습을 하다보니 pandas를 이용해 간단한 데이터 분석과 

matplotlib를 이용하여 데이터 시각화를 할 수 있었다.


파이썬 기초문법만 아는 수준인데

책을 따라 실습을 하기에 어려움이 없었다.

특히 Jupyter notebook과 데이터 시각화에

다양한 예제가 있어서 필요에 따라 골라 사용할 수 있는 쿡북이라 생각한다.


나처럼 python 기반의 데이터 분석에 관심있는 팀원이 생기면

pandas 관련 서적과 이 책을 추천하겠다."



배경

지난 프로젝트에서 장치에서 재생된 컨텐츠 내역을 집계해서 리포트로 제공하는 기능을 개발했다. SaaS 서비스를 준비하고 있었고, 장치로 부터 수집 는 데이터가 비정형 데이터였기 때문에 몽고 DB를 이용해 데이터를 관리하고 있었다. 기존 방식말고 데이터 분석을 할 수 있는 방법에 대해서 스파이킹을 진행함

기존 방식

장치의 API 요청으로 부터 데이터를 수집하고, 실시간 배치로 데이터를 변환하고, 사용자가 리포트 요청을 하면 데이터를 로드하는 ETL 과정을 진행했다.

  • SaaS 서비스를 진행하다 보니 테넌트별로 쌓이는 재생 로그가 많았다. 몽고 DB의 쿼리로 조회를 하다보니 데이터 성능이 떨어졌고 index와 비정규화 작업을 통해서 성능을 개선했다.

개선 방향

수집된 데이터가 많은 경우, hadoop에 빅데이터를 파일로 적재하고 이를 pandas를 이용하여 데이터를 분석하고 데이터 시각화에 필요한 변환된 데이터를 다른 저장소에 쌓아서 조회 하는 방법을 알게되었다.

  • 일단 기존과 동일한 데이터 분석을 pandas를 이용하여 구현할 수 있는지 궁금했다.
  • PoC를 진행하는데 러닝커브가 얼마나 드는지 확인이 필요했다.
  • 두가지 방법의 성능비교

파이썬 Jupyter Notebook 실전 입문

우연하게 해당 책이 출판된 것을 알게 되었고 목차를 보고 지금 나에게 필요한 책이라 생각이 들었다.

  • 현재 파이썬 기초 문법만 아는 상태
  • jupyter notebook, pandas, matplotlib 사용경험 없음

책에 있는 예제를 따라하면서 anaconda를 이용해서 쉽게 jupyter notebook 환경 설정을 할 수 있었고, pandas를 이용해서 DataFrame를 생성하여 데이터를 분석하고, matplotlib를 통해서 데이터 시각화를 진행할 수 있었다. 특히 matplotlib의 경우 다양한 종류의 차트를 그릴 수 있는 예제가 있어서 필요한 부분을 골라서 진행할 수 있었다.

장점

  • 짧은 시간에 책을 따라하면서 간단하 데이터 분석과 시각화까지 진행할 수 있었다.
  • 주로 데이터 시각화에 대한 내용이 많다. 특히 다양한 종류의 차트 예제가 많아서 나중에 필요한 경우 쿡북처럼 찾아 쓸수 있을 것 같다.
  • 파이썬 기초문법만 알고 있음에도 불구하고 책을 따라 나가는데 어려움이 없었고, 데이터 분석 입문자의 입장에서 분석 및 시각화가 어떤 것인지 부담없이 접할 수 있었다.
  • 클라우드 환경에서 노트북을 사용할 수 있는 방법이 있어서 실제 업무에 적용할 수 있는 인사이트를 얻을 수 있었다.

단점

  • pandas에 대해 깊이 있는 설명은 부족하다. 따라서 다양한 케이스의 데이터 분석을 위해서는 다른 서적이나 도큐먼트 공부하는 등의 노력이 필요하다.
  • jupyter notebook을 통해서 데이터 시각화하는 부분을 넘어서, 실제 어플리케이션에서 데이터 시각화를 어떻게 구현할 수 있는지 사례게 있으면 더 도움이 될 것 같다.

마무리

3주에 걸쳐서 책을 따라 실습을 진행해보았다. 다양한 데이터 샘플은 깃헙에서 제공하고 있었기 때문에 쉽게 실습을 진행할 수 있었고, 입문자 입장에서 부담없이 책의 내용을 이해할 수 있었다. 이 책을 읽었다고 해서 당장 데이터 분석가가 되었다고 생각하지는 않는다.


하지만 이 책을 통해서 파이썬 기반의 데이터 분석과 시각화를 계속해서 진행할 수 있을 것 같다. 특히 리포트에 새로운 피처가 추가되면 빠르게 검증하여 사용자에게 가치가 있는지 여부를 판단할 수 있을 것 같다. 그 이후에 분석된 데이터를 다른 repository에 저장하고, d3.js같은 라이브러리를 이용하여 웹어플리케이션으로 데이터 시각화를 진행등의 인사이트를 얻을 수 있었다.


나처럼 파이썬 기반의 데이터 분석이 어떤 과정을 통해 이루어지는지 알고 싶은 입문자에게 이 책을 추천한다.



댓글