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

 

개발 측면에서 나는 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섹션에서 소개되어야 적절하다고 본다. 후반부에서 자동화 및 확장성을 고려한 구조등을 다룰 때도 한 챕터에 다루기에는 너무 큰 내용이지 않았나 싶다. 

 

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

 

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

 

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

 

 

반응형

'0.잡담 > 0.1 책' 카테고리의 다른 글

유닉스의 탄생  (0) 2020.09.10
2020.05 Maybe 너와 나의 암호말  (0) 2020.02.26
2020.03 시간관리 스킬  (0) 2020.02.15
2020.01 나는 무조건 합격하는 공부만 한다.  (0) 2020.01.02
사랑하지않으면 떠나라.  (0) 2008.02.05


금요일 저녁, 한시간 남짓의  작업으로 삶을 행복하게 만들기로 결심했습니다.


얼마전 회사에서 사용해보고 타격감과 모게감이 괜찮아서 구입한 SteelSeries의 6GV2 키보드.

이렇게 생겼습니다.  멋있죠?

게이머용 기계식 키보드를 지향하기 때문에 꽤 느낌이 좋습니다. 





별 생각없이 구매했는데, 아뿔사! 생각지도 못한 불편함이 기다리고 있었습니다.


첫째, 백슬래시 키가 왼쪽 쉬프트키 옆에 있습니다. 이 키는 원래 ']'키 와 엔터키 사이에 있어야 하는데 말이죠.

둘째, 위의 사진에서 알 수 있듯이 왼쪽 Ctrl키와 Alt키 사이에 스틸시리즈의 로고가 그려진 키가 보입니다. 이 키는 기능 키입니다. 이 키를 F1부터 F6키와 함께 누르면 볼륨 조정 및 미디어 플레이어 재생목록을 제어할 수 있습니다. 


첫번째 문제점은 사실 하드웨어적인 문제라 사용자가 변경할 수 없는 문제죠. 그나마 아주 자주 사용하는 키도 아니고 해서  그냥 적응하기로 했습니다.(OSCON 2013에 참석했을 때 어떤 발표자는 직접 자신만의 키보드를 만들었더군요.)


그런데 두번째 문제점은 정말 적응하기 어려운 겁니다. 분명 저 키는 윈도우 키여야 하는데 말입니다.

그래서 제조사 홈페이지를 검색했는데, 하드코딩되어 있는 까닭에 키 매핑을 변경할 수 없다고 하네요. ㅠㅠ

게이머들은 저 키를 윈도우 키로 사용하지 않는다는 조사 결과를 근거로, 이 키를 기능키로 만드는 불상사가 일어나고 말았습니다.

어쩄든 적응해야 하나 말아야 하나 고민하다가 그냥 조그마한 납땜으로 변경할 수 있겠다 싶더라구요.

그래서 일단 키보드의 나사를 조심스럽게 풀고, 내부 PCB 기판을 살펴보았습니다.



다행히 회로를 살펴보니 단순하네요.

제가 하려는 작업은 빨간 네모 사이에 있는 스위치 접점을 회로에서 분리시킨 후, 양 단자를 윈도 키의 접점으로 연결하려는 것입니다.


먼저 기능키가 동작하지 않도록 스위치 접점을 다른 회로와 분리시켰습니다.

칼로 조심스럽게 긁어내듯이 파냅니다. 초록색 커버가 벗겨진 후 동판이 나오는데, 이 동판을 확실하게 끊어줍니다. 이떄 정말 조심해야 합니다. 실수로 회로의 다른 부분을 건드리면 키보드를 사용할 수 없을 수도 있습니다.


회로 끊기회로 끊기


자.. 드디어 기능 키의 스위치 단자를 나머지 회로와 분리했습니다.

이제 이 키를 누르면 마치 윈도우 키가 눌러진 것처럼 회로를 연결합시다.

윈도 키의 스위치 단자를 찾아서 이 두 단자로 각각 연결해 줍니다. 스위치는 기본적으로 극성이 없기 때문에 그냥 연결해 주면 됩니다만, 저는 위치를 맞추었습니다. 사실 선 색상도 각각 다른 색 전선을 사용하는 것이 좋지만, 가지고 있는 색상 전선이 없는 관계로 그냥 한 색상으로 납땜했습니다.


스위치 단자 서로 연결하기.스위치 단자 서로 연결하기.



자 이제 끝났습니다.

다시 조심스럽게 키보드를 역순으로 조립하고, 컴퓨터에 연결한 후 기능 키를 눌러 봅니다.


오!!!!! 잘 동작합니다. :) 대 만족!


이로써 간단한 납땜으로 원하는 키보드를 얻었습니다. :)


기본적인 초등학생 실과 수준의 전기회로 지식으로도 이렇게 재미있는 일을 할 수 있습니다. 

여러분도 주위에서 재미있는 아이디어를 찾아 보세요.



반응형

'0.잡담' 카테고리의 다른 글

노트: gather.town과 메타버스  (0) 2021.01.09
NeoZest Season 2 시작합니다.  (0) 2020.12.28
뱡뱡면 한자  (0) 2019.10.22
내가 뽑은 마션의 명 대사  (0) 2019.10.05
아서 클라크의 과학 3법칙  (1) 2018.09.15

+ Recent posts