Top

예제로 배우는 파이썬 데이터 시각화 [파이썬 초심자부터 다양한 데이터 시각화 예제 학습이 필요한 독자들을 위한 필독서]

  • 원서명Python Data Visualization Cookbook - Second Edition (ISBN 9781784396695)
  • 지은이이고 밀로바노빅(Igor Milovanovi), 디미트리 포레스(Dimitry Foures), 기우스페 베티글리(Giuseppe Vettigli)
  • 옮긴이정기연, 김명선, 허혜정, 최재혁
  • ISBN : 9791161750040
  • 30,000원
  • 2017년 06월 12일 펴냄
  • 페이퍼백 | 364쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.

요약

파이썬으로 작성된 예제 코드를 중심으로 데이터 시각화를 소개한다. 일반 데이터 형식과 CSV, JSON, XSL, 또는 관계형 데이터베이스 데이터의 읽고 쓰기부터 시작해, 플롯과 차트 그리기와 커스터마이징하기, 3D 시각화 만들기, 이미지와 지도로 차트 그리기와 같은 데이터 시각화의 기본을 실제 파이썬 코드로 설명한다. 또한 클라우드 환경에서 시각화를 만들고 공유하기 위해 Plot.ly를 사용하는 방법을 소개한다. 다양한 예제를 제공해 파이썬을 처음 접하는 입문자들부터 기본 이론적인 지식이 있는 독자들까지 자신이 가지고 있는 데이터를 쉽게 시각화할 수 있도록 돕는다.

이 책에서 다루는 내용

■ 작업 환경 설정을 위한 필수 툴 소개
■ 표준 파이썬 데이터 라이브러리와 Pandas 라이브러리를 이용한 데이터 탐험
■ 첫 번째 차트 그리기와 사용자 최적화
■ 가장 많이 쓰이는 파이썬 시각화 라이브러리 사용
■ mplot3d를 이용한 3D 시각화
■ 이미지와 맵을 가진 차트 작성
■ 당신의 데이터를 설명하기 위한 가장 적절한 차트 이해
■ matplotlib에 숨어있는 보석 발견
■ Plot.ly를 이용해 온라인상에 시각화 공유

이 책의 대상 독자

이 책은 이미 파이썬을 사용하고 있지만 실용적인 방법으로 데이터를 시각화하는 방법을 배우고자 하는 개발자와 데이터 과학자를 위한 책이다. 여러분이 데이터 시각화에 대해 들어본 적은 있지만 어디서부터 시작해야 할지 모른다면, 이 책은 처음부터 여러분을 안내하고, 데이터, 데이터 포맷, 데이터 시각화, 파이썬을 데이터 시각화를 위해 사용하는 방법을 이해하도록 도울 것이다.
일반적인 프로그래밍 개념을 알아야 하며, 그동안의 프로그래밍 경험이 도움이 될 수 있다. 하지만 이 책에서도 이해하기 쉽도록 코드를 거의 라인 단위로 설명하므로 부담 갖지 않아도 된다. 수학 역시 필요하지 않다. 소개할 모든 개념은 철저하게 일반 단어로 설명할 것이고, 그 주제에 더 관심이 있는 독자를 위해 노트를 제공할 것이다.

이 책의 구성

1장, ‘작업 환경 준비하기’에서는 플랫폼에 필요한 파이썬 패키지와 라이브러리를 설치하는 방법을 설명하고, 몇 가지 조언을 제공한다.
2장, ‘자신의 데이터 알기’에서는 일반 데이터 형식과 CSV, JSON, XSL, 또는 관계형 데이터베이스를 읽고 쓰는 방법을 알아본다.
3장, ‘첫 번째 플롯 그리기와 커스터마이징’에서는 간단한 플롯 그리기로 시작해서 몇 가지 커스터마이징 방법을 살펴본다.
4장, ‘더 많은 플롯 그리기와 커스터마이징’에서는 앞 장에 이어서 더 발전된 차트 그리기와 그리드 커스터마이징 방법을 설명한다.
5장, ‘3D 시각화 만들기’에서는 3D 막대, 3D 히스토그램, matplotlib 애니메이션과 같은 3차원 데이터 시각화에 대해 설명한다.
6장, ‘이미지와 지도로 차트 그리기’에서는 이미지 프로세싱, 지도 위에 데이터를 투영하는 방법, CAPTCHA 테스트 이미지를 생성하는 방법을 알아본다.
7장, ‘적절한 플롯을 사용해 데이터 이해하기’에서는 스펙트로그램 및 상관 관계와 같은 고급 플로팅 기술에 대한 설명과 예제를 살펴본다.
8장, ‘더 많은 matplotlib Gems에 대해’에서는 간트(Gantt) 차트, 박스 플롯, 수염 플롯과 같은 차트를 알아보고, matplotlib에서 텍스트(문자)를 그리기 위한 LaTeX 사용 방법에 대해 설명한다.
9장, ‘Plot.ly를 사용한 클라우드에서의 시각화’에서는 클라우드 환경에서 시각화하고 공유하기 위해 Plot.ly를 사용하는 방법을 알아본다.

저자/역자 소개

지은이의 말

가장 좋은 데이터는 우리가 보고 이해할 수 있는 데이터다. 개발자와 데이터 과학자로서, 우리는 가장 포괄적이면서 이해 가능한 시각화를 만들고 구축하기를 원한다. 하지만 이러한 작업은 생각만큼 손쉽지 않다. 데이터를 찾아야 하고, 찾은 데이터를 읽어야 하고, 내용이 없거나 오류가 있는 부분은 깨끗하게 만들어야 하고, 원하는 데이터를 필터링해야 한다. 그런 다음 시각화하기 위한 적당한 도구를 사용해야만 한다. 이 책은 직관적이고 간단한 방법으로 데이터를 정보로 만들기 위해 어떻게 읽고, 깨끗이 하고, 시각화하는지에 대한 과정을 설명한다.
이 책에서는 로컬 데이터, 원격 데이터, CSV, JSON 및 관계형 데이터베이스에서 어떻게 데이터를 읽을 수 있는지에 대해 상세히 설명한다.
간단한 플롯은 파이썬의 matplotlib을 사용해서 한 줄의 명령어만으로도 그릴 수 있으나, 좀 더 복잡한 차트를 그리려면 파이썬보다 더 많은 지식이 필요하다. 가장 호소력 있게 시각화하기 위해서는 정보 이론(information theory)과 인간의 지각 미학(human perception aesthetics)을 이해할 필요가 있다.
이 책에서는 파이썬에 있는 matplotlib으로 플로팅하는 몇 가지 사례를 살펴보고, 사용된 통계 방법을 설명한다. 또한, 최적의 방법을 골라 사용할 수 있게 다양한 차트의 특징을 예제를 통해 살펴볼 것이다.

지은이 소개

이고 밀로바노빅(Igor Milovanovi)

리눅스 시스템과 소프트웨어 공학 교육에 강한 백그라운드가 있는 숙련된 개발자며 데이터 기반의 분산 소프트웨어 확장형 시스템 구축 전문가다. 소프트웨어 구조와 개발 방법론에 관심이 많으며, 좋은 품질의 시스템을 디자인하기 위한 에반젤리스트(Evangelist)고, 항상 테스트 기반 개발이나 원스텝 빌드, 연속적인 통합과 같은 좋은 품질의 소프트웨어를 만드는 방법론을 지지한다.
또한, 현장 경험은 물론 정식 교육까지 받아서 제품 개발에 대한 확실한 지식을 가지고 있다. 비즈니스에서 개발로, 또는 개발에서 비즈니스로의 지식 전달과 의사소통 흐름을 만들어갈 수 있는 능력을 갖췄다.

디미트리 포레스(Dimitry Foures)

응용수학과 이론물리학을 전공한 데이터 과학자다. 리옹(프랑스)의 ENS에서 물리학 학부를 마친 후, 파리의 에콜 폴리테크닉 대학에서 유체 역학 석사를 우수한 성적으로 졸업했으며 캠브리지 대학에서 응용수학 박사 학위도 받았다. 현재는 대학과 협력 관계에 있는 캠브리지의 스마트 에너지 스타트업에서 데이터 과학자로서 일하고 있다.

기우스페 베티글리(Giuseppe Vettigli)

수년간 연구소와 학계에서 일한 데이터 과학자다. 주요 업무는 머신 러닝 모델과 구조화되거나 구조화되지 않은 데이터로부터 정보를 사용하기 위한 애플리케이션을 개발하는 것이다. 블로그(http://glowingpython.blogspot.com)를 통해 과학적 계산과 파이썬에서의 데이터 시각화에 대해 글을 쓴다.

옮긴이의 말

영화 <컨택트(Arrival,>에는 외계인들이 그림을 만들어 대화를 하는 장면이 나온다. 우리의 언어가 우리의 감정이나 생각을 정확하게 담아내지 못하는 것에 반해 외계인들이 만든 그림에는 대량의 정보가 정확하게 담겨 있다. 우리는 하루에도 엄청난 양의 데이터를 접하고 있지만 이 엄청난 데이터에는 어떤 의미가 있는지 쉽게 이해하기가 어렵다.
데이터 시각화는 데이터가 가지고 있는 의미와 대량의 정보를 우리에게 한 번에 보내줄 수 있는 언어와 같다. 특히 파이썬은 데이터를 시각적 언어로 쉽게 바꿔주는 프로그래밍 언어다. 따라서 파이썬으로 데이터 시각화를 다룬 이 책은 다양한 예제를 제공해 이 작업을 쉽게 할 수 있도록 도와준다.
우리는 저자가 영어를 통해 말하고자 하는 바를 국내 독자들이 쉽게 이해할 수 있도록 한국어로 바꾸는 데 심혈을 기울였다. 이제는 여러분의 차례다. 이 책을 읽고 데이터를 여러 가지 방법으로 시각화해보며 매일 매일 쏟아지는 데이터와 대화를 시도해보자. 우리 멤버들은 각자 다양한 전문 분야에 대한 이해를 바탕으로 테이터를 시각화하고 그것을 자기 분야에서 다시 사용하기 위해 함께 여러 의견을 나누고 있다. 어떠한 의견이나 제안이 있으시다면 언제든 가벼운 마음으로 연락 주시기 바란다.

옮긴이 소개

정기연

경제학과 전자 공학을 공부했고, 전자 공학으로 석사 학위를 받았다. 경세제민(經世濟民)의 뜻을 기술로 이뤄 보고자 10여 년간 전자 회사에서 엔지니어로 일하며 기술을 연마해왔다. 최근에는 가치를 만들어 내는 기술의 응용을 고민하며 꿈에 한 걸음 더 가까이 다가가고 있다.

김명선

전자 공학 및 네트워크를 공부했고 전자 회사의 선행 연구소에 재직 중이다. 아이디어 내기와 무언가를 만드는 것을 좋아한다. 개발자로 오랜 기간 일하다가 새로운 것을 만드는 일에 좀 더 적극적으로 나서며 다양한 분야에 도전하고자 노력하고 있다.

허혜정

컴퓨터 과학으로 학사, 석사 및 박사 학위를 받았다. 주요 연구 분야는 가상 현실, 과학적 시각화, HCI 분야이다. 현재는 전자 회사에서 그래픽스 선행 연구를 하고 있다. 새로운 것을 배우는 것을 좋아하고, 자연을 좋아해 캠핑과 여행을 좋아한다. 이 책의 번역 작업 일부도 캠핑 의자에 앉아서 했다.

최재혁

전자 공학 학사, 컴퓨터 과학 석사 학위를 받았다. 전자 회사의 선행 연구소에서 HCI를 위한 임베디드 소프트웨어 개발 및 알고리즘 연구를 하고 있다. 전자 제품을 좋아해서 블로그도 운영하고 있으며 사람들의 편의와 행복을 증진시킬 수 있는 다양한 기술에 관심을 가지고 있다.

목차

목차
  • 1장. 작업 환경 준비하기
    • 소개
    • matplotlib, NumPy, SciPy 설치하기
    • virtualenv와 virtualenvwrapper 설치하기
    • 맥 OS X에 matplotlib 설치하기
    • 윈도우에 matplotlib 설치하기
    • 이미지 처리를 위해 파이썬 이미징 라이브러리(PIL) 설치하기
    • Requests 모듈 설치하기
    • 코드에서 matplotlib 매개변수 커스터마이징
    • 프로젝트별 matplotlib의 매개변수 사용자 정의하기

  • 2장. 자신의 데이터 알기
    • 소개
    • CSV로부터 데이터 읽어오기
    • 마이크로소프트 엑셀 파일로부터 데이터 읽어오기
    • Fixed-width 데이터 파일로부터 데이터 읽어오기
    • Tab-delimited 파일로부터 데이터 읽어오기
    • JSON 리소스로부터 데이터 읽어오기
    • JASON, CSV, 엑셀에 데이터 내보내기
    • Pandas로 데이터 읽어오기 및 조작하기
    • 데이터베이스로부터 데이터 임포트하기
    • 아웃라이어로부터 데이터 정제
    • Chunk단위로 파일 읽기
    • 스트리밍 데이터 소스 읽기
    • NumPy배열로 파일 불러오기
    • 제어된 랜덤 데이터 셋 생성하기
    • 현실 세계 데이터에서의 노이즈 다듬기

  • 3장. 첫 번째 플롯 그리기와 커스터마이징
    • 소개
    • 플롯 타입의 정의 - 막대, 선, 누적 차트
    • 간단한 사인, 코사인 그래프 그리기
    • 축 길이와 한계 정의하기
    • 플롯 라인 스타일, 특성 및 포맷 문자열 정의하기
    • 눈금, 레이블 및 그리드 설정하기
    • 범례 및 주석 추가하기
    • spines를 중심으로 이동하기
    • 히스토그램 만들기
    • 오류 막대가 있는 막대형 차트 만들기
    • 원 그래프 만들기
    • 채워진 영역으로 플롯 그리기
    • 누적 그래프 만들기
    • 색깔 마커로 산포도 그리기

  • 4장. 더 많은 플롯 그리기와 커스터마이징
    • 소개
    • 축 레이블의 투명도와 크기 설정하기
    • 차트 라인에 그림자 추가하기
    • 그림에 데이터 테이블 추가하기
    • 서브플롯 사용하기
    • 그리드 커스터마이징하기
    • 등고선 플롯 생성하기
    • under-plot 영역 채우기
    • 극도표 그리기
    • 극 막대를 사용해 파일 시스템 트리 시각화하기
    • style을 이용한 matplotlib 커스터마이징

  • 5장. 3D 시각화 만들기
    • 소개
    • 3D 막대 만들기
    • 3D 히스토그램 만들기
    • matplotlib 애니메이션화하기
    • OpenGL로 애니메이션화하기
    • 소개

  • 6장. 이미지와 지도로 차트 그리기
    • PIL로 이미지 처리하기
    • 이미지로 플롯 그리기
    • 그림 내에 다른 도표로 이미지 표시하기
    • Basemap을 사용해 지도 위에 데이터 그리기
    • 구글 맵 API를 사용해 데이터 그리기
    • CAPTCHA 이미지 생성하기

  • 7장. 적절한 플롯을 사용해 데이터 이해하기
    • 소개
    • 로그 플롯 이해하기
    • 스펙트로그램 이해하기
    • 스템 플롯 만들기
    • 벡터 플로우의 스트림라인 그리기
    • 색상 맵 사용하기
    • 산포도와 히스토그램 사용하기
    • 두 변수 사이의 교차 상관 관계 표시하기
    • 자기상관의 중요성

  • 8장. 더 많은 Matplotlib Gems에 대해
    • 소개
    • 미늘 그리기
    • 상자-수염 그래프 그리기
    • 간트 차트 그리기
    • 에러 막대 그리기
    • 텍스트 및 글꼴 속성 사용하기
    • LaTeX로 텍스트 그리기
    • pyplot과 OO API의 차이점 이해하기

  • 9장. Plot.ly를 사용한 클라우드에서의 시각화
    • 소개
    • 선 그래프 만들기
    • 막대 그래프 만들기
    • 3D 삼각 매듭 그리기
    • 지도와 버블 차트 시각화

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안