개인적으로 구체적인 스토리를 가지고 특정 기술을 설명하는 방식을 좋아한다. 기술이 발전하면서 다양한 측면에서 발전이 이루어지기 때문에 기술 그 자체를 중심에 놓고 학습하다보면 종종 그 기술을 왜 배우고 어떻게 사용할 것인지라는 나침반을 잊어버리게 되기도 한다.


개발 측면에서 나는 C++개발자로 분류되지만, 데이터 분석 같은 작업에는(대용량 데이터 분석이 아닌 이상) 로컬머신에서 파이썬을 주로 사용한다. 파이썬은 이미 충분한 성능 및 좋은 데이터 분석 라이브러리를 갖추고 있다. (불행(?)히도 점점 파이썬을 사용하는 비중이 높아지고 있다. 다행히 C++ 역시 파이썬과 문법적 개념이 비슷해지고 있다.)


최근 데이터 분석과 관련된 파이썬 책이 많이 출간되고, 출간될 예정이다. 그런데 그동안 읽었던 책 중에서 마음에 드는 책을 발견하여 소개한다. 바로 O'reilly에서 출간된 'Data Wrangling with Python'이란 책이다.



Book Cover


http://www.amazon.com/Data-Wrangling-Python-Tools-Easier/dp/1491948817/


책 제목에서 알 수 있듯, 이 책은 파이썬을 사용하는 책이긴 하지만 범용 파이썬 개발자를 대상으로 쓰인 책이 아니다. 파이썬으로 데이터를 요리조리 다루고 싶은 사람(책 저자는 언론사나 데이터 분석가를 대상으로 쓴 것 같다.)들을 위한 책이다.


책은 크게 3개 부분으로 나뉘어진다. 1)데이터 획득 2) 데이터 정리 3) 데이터 탐험


데이터 분석 플로

데이터를 다루게 된다면 대부분 위 그림과 같은 작업 흐름을 따르게 될 것이다. 이 책은 위 그림의 각 단계에서 파이썬을 어떻게 활용할 수 있는지를 적절하게 잘 설명하고 있다. 예컨데 데이터 획득의 경우, 물론 데이터의 정의부터 시작하지만, 엑셀 파일, CSV(TSB), JSON, XML등 다양한 데이터 소스를 처리하는 방법을 소개한다. 각 소주제에 따라 파이썬에서 유명한 모듈들을 소개한다. 기본적인 파이썬의 문법이나 자료구조(딕셔너리, 리스트, 셋 등)들에 대해서도 짧게 다루지만, 이 책으로 파이썬 문법을 이해하기에는 글쎄. 조금 힘들다. 기본적인 문법을 알고 있는 상태라면 초급에서 중급으로 올라갈 수 있는 디딤돌이 될 것이다.


7장과 8장에서는 데이터에서 부적절한 데이터나 튀는 데이터, 신뢰성이 있는 데이터인지 등을 검증하는 방법들을 소개한다. 이후 데이터 탐색 및 프리젠 테이션을 다루는데, 후반에는 약간 내용의 중심이 흐려지는 기분이 있다. 웹스크래핑을 다루는 11장/12장의 내용은 개인적으로는 Acquire the Data섹션에서 소개되어야 적절하다고 본다. 후반부에서 자동화 및 확장성을 고려한 구조등을 다룰 때도 한 챕터에 다루기에는 너무 큰 내용이지 않았나 싶다. 


파이썬을 공부하기 위하여 이 책을 골랐다면 부적절한 선택일 수 있다. 반대로 데이터를 처리하는 비 개발자가 이 책을 본다면 왠지 파이썬 기본 문법책을 하나 찾고싶은 욕구가 생길지도 모르겠다. 파이썬이 데이터 처리 분야에서 가지는 장점을 잘 훑어볼 수 있다.  또한 파이썬 개발자가 데이터를 처리하기 위하여 자신의 기술을 어떻게 활용할 지를 알고 싶다면 좋은 선택일 수도 있겠다.


회사내 데이터를 다루는 팀 동료에게 이 책을 권했는데, 대단히 흥미로워 한다. 읽으면서 파이썬이라는 언어에 흥미를 가진다. :) 이 책의 효과는 이로써 충분하다.


 아직은 한글판이 없지만, 조만간 인사이트 출판사를 통해 번역본도 나올 듯 하다.  국내 데이터 엔지니어들에게도 파이썬의 날개를 달아주었으면 좋겠다.



'4. 책읽記' 카테고리의 다른 글

책:Data Wrangling with Python  (0) 2016.05.10
[책] NHN은 이렇게 한다. 소프트웨어 품질 관리.  (0) 2013.12.11
[책] Node.JS 프로그래밍  (0) 2013.05.07
개별 미팅에서 추천받은 책.  (0) 2012.08.22
ROWE  (0) 2011.04.12
호모 메이커  (0) 2011.04.06

읽기 시작 : 2013년 12월 9일

읽기 끝 : 2013년 12월 10일.



만약 소프트웨어 품질관리에 관하여 CI서버나 QA 활동(소프트웨어 테스팅), 자동화 등등에 관한 글을 읽었다면 이 책은 담론서 정도로 느껴질 수 있다. 기본적인 개념을 익히고, NHN이 QA관련 활동을 강화하는데 겪었던 시행착오와 접근법을 대충 짐작할 수 있다.

실제로 많은 부분들이 NHN에서 하고 있는 품질관리 활동을 소개하는 수준인데, 그나마 국내에서도 NHN처럼 큰 조직에서 꾸준히 소프트웨어 품질 관리에 신경을 쓰고 있다는 점이 고무적이다. 특히 그러한 사례를 책으로 묶어냈다는 점에도 +1점.

만약 조직내에서 소프트웨어 품질 관리에 대한 개념이 부족하거나 초중급 개발자들에게 교육하기 위한 용도로는 적절한 수준의 책이다. 

우리나라 저자가 쓴 책임에도 불구하고 특별한 이유없이 영문을 표기한 것은 이상하다. 특히 어색한 영어단어도 보였다. 예를 들어 'NHN의 QP는 궁극적으로 NHN에서 제공하는 서비스 품질을 향상시키기 위한 검증된 운동(exercise)의 일부이다(197쪽)'라는 문장이 있는데. 이런 경우 운동은 campaign 또는  practice가 적절하다. exercise가 틀린 것은 아니지만, 뉘앙스는 신체적 운동에 가깝다. 내가 말하고 싶은 점은 굳이 저 단어를 괄호안에 쓸 필요가 있었나 하는 점이다.

여하튼 다시금 이와 관련된 내용을 리마인드하기엔 적절했던 것 같다.

개발한 기능이 사용자 요구 사항과 일치하는 것(validation)은 명세서(specification)과 일치하는 것(verification)보다 포괄적인 개념이다.


NHN은 이렇게 한다 소프트웨어 품질관리

저자
유석문, 이세현, 이상범, 김은하, 나종채 지음
출판사
위키북스 | 2010-08-27 출간
카테고리
컴퓨터/IT
책소개
소프트웨어 품질이란 무엇인가? 오류 없는 소프트웨어를 만들려면 ...
가격비교 글쓴이 평점  



함께 읽어볼 만 책을 추천하자면...

이 책은 허드슨에 관한 책중에 가장 마음에 드는 책이다.


지속적인 통합: 소프트웨어 품질을 높이고 위험을 줄이기

저자
폴 M. 듀발, 스티븐 M. 마티야스, 앤드류 글로버 지음
출판사
위키북스 | 2008-03-27 출간
카테고리
컴퓨터/IT
책소개
전문 소프트웨어 개발에서는 더 이상 혼자 하는 프로젝트란 보기 ...
가격비교


이 책은 Fit에 관한 상세 설명서이다.



Fit, 통합 테스트 프레임워크

저자
릭 머그리지, 워드 커닝햄 지음
출판사
인사이트 | 2010-03-05 출간
카테고리
컴퓨터/IT
책소개
[출판사서평][이 책은] * Fit 테스트 프레임워크에 대한...
가격비교


'4. 책읽記' 카테고리의 다른 글

책:Data Wrangling with Python  (0) 2016.05.10
[책] NHN은 이렇게 한다. 소프트웨어 품질 관리.  (0) 2013.12.11
[책] Node.JS 프로그래밍  (0) 2013.05.07
개별 미팅에서 추천받은 책.  (0) 2012.08.22
ROWE  (0) 2011.04.12
호모 메이커  (0) 2011.04.06

+ Recent posts