Learning pandas 리뷰

반응형
    반응형

    책 소개

     

    Learning pandas는 판다스 코드방법을 알려주는 책으로
    부제로는 'Get to grips with pandas -- a versatile and high-performance Python library for data manipulation, analysis, and discovery' 로 적혀 있습니다. 판다스로 초급에서부터 고급까지의 과정이 거의 담겨있다. 이책을 다 보면 왠만한 전처리는 다 할 수 있을정도로 꼼꼼하게 내용이 들어있습니다..
    2015년에 처음 책이 나왔고 저자는 Michael Heydt 인데
    이 분은 30년동안 소프트 개발경험이 있는 사람으로 경력이 많고 다양한 언어를 썼다고 합니다. 2005년부터 투자은행에 근무하면서 주식매매 시스템을 만드는 일을 하고 있다고 합니다. 판다스를 왜 쓰게 되었는지 넌지시 알 것 같기도 합니다.

    데이터 분석은 데이터 수집 및 저장- 데이터 전처리 - 모델링 - 평가 - 전개로 크게 5단계로 나눌 수 있습니다.
    이 중에서 판다스는 데이터 전처리 역할을 합니다. 큰 과정 중에 한 부분이기 때문에 시중에 나와있는 책을 보면 코드를 배우는 목적성이 모두 있다. 판다스 그 자체를 배우는 책은 드뭅니다.
    금융데이터를 다룬다던지 공공데이터를 다룬다던지 게임을 만든다던지 웹페이지를 만든다던지 등등 여러가지 결과물을 책에 말미에 제시해주는데 이 책은 전혀 그런 강조가 없습니다. 단지 전처리하는 판다스 문법만을 다루고 있을 뿐입니다.
    마지막 장에 금융데이터 다루는 방법이 나오긴 하지만 순수하게 금융데이터를 가지고 기술 통계를 어떻게 하는지 그림을 어떻게 그리는지를 설명하고 끝이 난다는 게 약간 아쉽기는 하지만 판다스를 잘 배우고 싶다면 이 책만한게 없는 것 같습니다.

     

    책의 장점

    전문지식이 필요 없음

    파이썬을 어느정도 아는 사람이 판다스 더 배울려고 보는 책이기 때문에 파이썬을 안다는 전제가 있습니다.
    그보다는 소위 금융데이터를 다루는 책은 블랙숄즈공식이나 채권에 대한 얘기가 나오는 경우가 있습니다. 그러면 전공자인 경우만 책 전개에 맞춰서 진행을 할 수 있다는 것이 문제가 됩니다.즉, 블랙숄즈나 몬테카를로를 모르면 판다스를 못 배우는 상황이 발생하는 것입니다. 그렇지만 이 책은 순순하게 판다스 설명만 합니다. 다루는 데이터도 쉽게 만들거나 얻을 수 있는 수준이라서 전문적인 지식을 몰라도 판다스를 배우는데 아무 지장이 없습니다.

    영어책인데 구글번역이나 파파고로 커버가능하다.

    영어를 모르는 사람도 구글번역으로 커버할 수 있습니다. 말인즉슨, 책의 문장이 대체로 간결하고 코드 위주로 이루어진 기술책이기 때문에 구구절절 긴 설명이 거의 없습니다. 구글번역을 켜두고 해석이 안되는 문장을 번역하면서 봐도 될 정도로 문장이 적습니다. 전자책으로 구입한다면 더할나위 없이 편하긴 하지만 어찌됐든 판다스에 전반적인 내용을 배울 수 있다면 이정도 노력정도는 할 수 있을 것 같기도 합니다.

    코드 진행이 거의 막히지 않는다.

    고급 기술을 쓴 책일수록 오류가 발생할 경우가 종종 생깁니다.
    고급기술은 버전이 바뀌면 조금씩 바뀝니다. 그도 그럴것이 어려운 것이라는 게 사실상 최신에 가깝다는 것이라 안정화를 거쳐야하는 것들입니다. 그렇다보니 프로토타입처럼 일단 만들어놓고 수정을 해야하는 건 숙명적인 부분이라 책에 나온 전개대로 하다보면 막히는 경우가 생깁니다. 더이상 읽지도 못하는 상황이 발생하는 안타까운 상황이 발생합니다. 그렇지만 다행인 것은 판다스가 거의 안정화에 접어들어서 바뀐 코드가 거의 없습니다(아예 없는 것은 아닙니다)

    판다스에 온전히 초점이 맞춰져 있다.

    기술책은 수학,과학책과 달리 목적성을 띄는 경우가 많습니다.
    보통은 책에 말미 뭔가를 만들어내는 방법을 알려줍니다.
    자동매매를 만든다던지, 자동화업무를 하는 것처럼요. 이런 책들의 공통점은 기초가 약한 경우가 많습니다. 딱 책에서 만들고자 하는 것만 할정도로만 나옵니다. 그러다보니 코딩을 이제 막 접하는 초보자인 경우 항상 입문자를 위한 책을 다시 찾게 되는 악순환에 빠지는데 내 실력이 안 되다보니 책에 있는 걸 따라할 수는 있지만 응용하기가 어려움에 봉착하는 것이지요. 수학, 과학처럼 지식만을 쓴 책이 간간히 있어주면 여러모로 도움이 됩니다. 이 책이 바로 그런 책입니다. 이 책은 딱 판다스의 지식만을 전달합니다.

    책의 단점

    파이썬을 알고 있어야 한다.

    파이썬을 책에서 설명하지 않는 건 아닙니다. 그렇지만 진짜 너무 적긴 합니다. 제가 강의해도 30분이면 끝날정도의 양입니다. 이거가지고 데이터 전처리를 바로 할 수 있다면 그건 바로 본인이 천재라는 증거일뿐...보통 사람들은 해내지 못합니다. 즉, 파이썬이나 코딩을 전혀 모르는 입문자에게는 약간 어려울 수 있습니다. 코딩에 코자도 모르는데 데이터 전처리라니... 말이 되기가 어렵습니다. 적어도 파이썬의 데이터타입이 무엇인지 for,if, while 다룰 줄은 아는 상태에서 이 책을 시작하는 게 좋습니다. 책에서도 어느정도 설명을 하지만 혼자 알고리즘 짤 수 있는 게 쉬운 게 아닙니다. for문 하는 법 배운다고 알고리즘이 저절로 머릿속에 그려지는 게 아닙니다. 시간이 걸리더라도 만들어낼 수 있는 정도의 수준이라면 괜찮습니다.

    데이터 전처리는 할 줄 알게 됐는데 뭘 해야할지...

    이 책은 뭘 만들어내지는 않습니다. 굳이 뭘 만들었다고 한다면 데이터 전처리로 기술통계를 한 후 그래프를 그렸다 정도입니다. 지식 전달의 목적이 더 큽니다. 수학,과학책 보면서 바로 '이제 뭘 만들 수 있겠어!!'라고 느끼는 사람이 얼마나 있을까요?
    이 책은 판다스를 수학,과학책처럼 썼기 때문에 그래도 컴퓨터는 시각적효과가 있기 때문에 어느정도 감이 오긴하지만 이 책만으론 뭘 만들어내기에는 약합니다. 만약 자신이 프로젝트를 준비하고 있는데 판다스 실력의 부족함을 느끼고 이 책을 본다면 엄청난 도움이 될 것이라 봅니다.

    추천독자

    이 책은 파이썬의 기초가 아닌 판다스를 알려줍니다. 그것도 초급부터 고급과정까지 다 있어서 이 책 하나면 왠만한 전처리는 다 할 수 있습니다. 하지만 파이썬 기초는 떼고 이 책을 보는 것을 추천합니다. 판다스는 주로 정형데이터 처리를 합니다. db나 csv로 저장되어 있거나 웹크롤링을 한 날것의 데이터를 좀 더 보기 편하게 만들기 위한 툴입니다. 이 점을 명확히 알고서 책을 봤으면 좋겠습니다. 비정형을 판다스로 넘기려면 그에 맞는 처리 후 넘기는 것을 추천합니다. 비정형도 물론 전처리를 판다스로 할 수 있기는 하지만 또 다른 어려움에 봉착할 수 있습니다. 이 책의 저자가 금융데이터를 주로 다룬다는 것을 잊지 않으셨으면 합니다. 이 책에는 비정형 데이터를 다루는 방법에 대해서는 나오지 않습니다.

    마치며

    개인적으로 판다스에 대한 설명만 있어서 좋았습니다. 제 입장에서는 뭔가 다양하게 구사를 하고 싶은데 못하는 답답함이란 게 존재했는데 프로젝트를 진행할 적에 깔끔하게 전처리를 하는데 많은 도움을 받았습니다. 특히, 멀티인덱스나 pivoting은 어디서도 자세한 예제로 본 적이 없어서 이 책을 보면서 제대로 이해할 수 있었습니다.
    영어책인게 약간의 흠이지만 판다스에 대한 자세한 책이 있는 한글책이 있다면 더 좋았겠다는 아쉬움이 듭니다. 시중에는 다양한 이름으로 책이 있을 수 있겠지만 이미 이 책으로 왠만한건 다 할 줄 알게 되서 굳이 또 다른 책을 사보지는 않을 것 같습니다.

     

    https://link.coupang.com/a/mQxlZ

     

    Learning Pandas Paperback

    COUPANG

    www.coupang.com

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

    댓글

    Designed by JB FACTORY

    ....