tee***
2017-11-29

# 파이썬으로 데이터 분석을 하면 뭐가 좋을까?
엑셀로 데이터 분석을 하던 사람에게는 프로그래밍을 통한 분석방식은 답답하다. 뭐 하나 만들기도 까다롭다. 무엇보다도 작성이 오래 걸린다. 엑셀에서 자동으로 지원하는 함수들이 없어서 손으로 한 땀 한 땀 구현해야 할 때도 있다. 그러나 데이터 분석의 대부분은 반복적인 작업이다. 어쩌다 한 두번 작업할 때는 엑셀로 수작업하는 것이 빠르겠지만, 장기적으로는 재사용이 가능하고 다양한 변형이 쉬운 프로그래밍이 효율적이다. 파이썬과 DBMS의 쿼리를 활용하면 방대한 데이터를 훨씬 쉽게 다룰 수 있다는 것도 장점이다.
# 이 책의 예제는 윈도와 파이썬3를 기반으로 한다.
이 책의 예제는 윈도를 기반으로 한 파이썬 스크립트이다. 맥에서의 작업 방식도 같이 소개하지만, 기본적으로 윈도를 중점으로 설명한다. 우리나라에서 윈도 점유율이 90%가 넘는 상황에서 초보자들은 윈도를 사용하고 있을 가능성이 가장 높기 때문이다. 개인적으로도 데이터를 다루는 작업에 MS Office 를 많이 활용하는 편이라 엑셀과 병행할 수 있는 개발환경이 편리했다.
# 1장 파이썬 기초
숫자/문자/리스트/튜플/딕셔너리와 같은 파이썬 기본 자료형을 다룬다. 날짜형 자료를 다루는 방법을 차근차근 설명해주는 부분이 좋았다. 실제 업무에서 가장 많이 다루게 되는 자료형이니까. 프로그래밍 기초가 없는 사람들을 위해 제어문, 함수, 예외 처리 같은 내용도 차근차근 설명되어 있다.
# 2장 CSV 파일
예전부터 데이터를 전송하는 데 가장 많이 사용되어온 plain text 형태의 CSV 파일을 다루는 방법에 관해 설명한다. 단일 파일과 여러 파일을 읽고 수정하는 방법과 파일 요약 정보 출력, 데이터 병합 등이 잘 나와 있다.
# 3장 엑셀 파일
파이썬의 xlrd 패키지를 사용하여 엑셀 파일을 처리한다. 엑셀에서 까다로운 점인 날짜=숫자 저장 형태와 변환 방법을 설명하는 부분이 좋았다. 워크시트를 읽고 파싱한 후 간단한 기본 통계 계산 등을 수행한다.
# 4장 데이터베이스
파이썬에 내장된 sqlite3 모듈을 사용해서 DB 생성, 테이블 생성, 쿼리 수행 등 기초 데이터베이스 작업을 설명한다. MySQL을 내려받아서 설치하는 방법도 다뤄서 DBMS 입문으로는 부족함이 없었다.
# 5장 응용 작업
데이터 처리 및 분석 작업을 다룬다. 다양한 엑셀/CSV 파일에서 특정 레코드를 찾고, 수치 데이터를 카테고리로 그룹화하여 통계를 내본다. 텍스트 파일을 그룹화하고 카테고리에 대한 통계를 산정하며, MySQL 로그 파일을 파싱하여 로그 횟수를 계산하는 등의 다양한 응용 작업을 수행한다.
# 6장 데이터 시각화
데이터 시각화 패키지를 이용하여 데이터를 시각화하는 방법을 배운다. 가장 대중적인 matplotlib으로 시작하여 간결함이 매력적인 pandas와 R로부터 나온 ggplot을 다뤄본다. 마지막의 seaborn은 어딘지 친숙하지 않아서 약간 당황했다.
# 7장 기술통계와 모델링
회귀 및 분류 모형을 추정한다. 앞 장에서 배운 pandas로 그룹화와 통계 함수를 사용하고, statsmodels 패키지를 사용하여 다양한 회귀 및 분류 모형을 추정해본다. 이 장에서 배우는 다중회귀모형 및 로지스틱 회귀모형은 워낙 많이 사용되는 내용이므로 모든 사람에게 유용할 것 같다.
# 8장 스크립트 자동 실행 예약하기
윈도의 작업 스케줄러와 맥/리눅스의 cron 을 사용해서 스크립트를 주기적으로 자동 실행하는 방법을 배운다.
# 9장 더 공부할 것들
과학 분야에서 많이 사용되는 numpy, SciPy 등의 추가 패키지들과 스택, 큐, 그래프, 트리 등의 자료구조를 간단히 소개한다. 내용 자체는 워낙 짧다. 궁금한 부분은 각각의 패키지를 다룬 중급 도서를 봐야 할 것 같다.
# 평점은 높지 않은데 책 내용이 좋다.
리뷰를 쓰기 위해서 찾아본 온라인 서점에서 이 책의 평점은 높지 않았다. 당연하다. 숙달된 데이터 분석가와 프로그래머들에게는 쉬운 내용이다. 그러나 이 책의 독자는 개발을 전혀 할 줄 모르는 사람이다. 엑셀을 잘 다루면서도 어딘지 모를 답답함을 느껴온 사람들에게는 이 책이 가뭄의 단비와 같다. 개발 지식이 깊지 않아도 충분히 데이터 분석을 할 수 있다는 것을 보여주기 때문이다. 더 방대한 전문 데이터 분석가로 가는 길은 이후 독자가 얼마만큼 더 공부하냐에 달린 것 같다. 매일 엑셀의 4~5중 함수 괄호에 시달리는 옆자리 동료에게 꼭 안겨주고 싶은 책이다. 파이썬의 기본기를 좀 더 단단히 다지게 해주는 점프 투 파이썬(https://wikidocs.net/book/1)링크와 함께라면 충분할 것 같다.