Top

파이썬과 Jupyter Notebook 2/e [IPython을 활용한 데이터 분석과 시각화]

  • 원서명Learning IPython for Interactive Computing and Data Visualization, Second Edition (ISBN 9781783986989)
  • 지은이시릴 로산트(Cyrille Rossant)
  • 옮긴이전철욱
  • ISBN : 9788960778443
  • 20,000원
  • 2016년 03월 29일 펴냄
  • 페이퍼백 | 208쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

요약

노트북은 텍스트, 수식, 도표, 코드, 대화형 위젯을 통합하는 그래픽 인터페이스다. 좀 색다른 편집기 정도로 여길 수도 있지만 그 작성 과정이 혁신이다. 코드, 수식, 도표를 효과적으로 전달하는 단계를 넘어, 새로운 정보를 찾는 하나의 방법론을 제시한다. 새로운 시도의 적용과 그 결과에 따른 다른 시도, 점진적인 진행 방법에서 통찰을 얻을 수 있다. 이 책은 노트북 소개와 더불어, 파이썬과 에코시스템을 전반적으로 설명한다. 판다스, NumPy, 시각화, 고성능 계산, 병렬 계산 등을 활용해 파이썬을 더 유연하고 강하게 사용할 수 있다.

이 책에서 다루는 내용

■ 아나콘다(Anaconda) 설치 및 주피터 노트북에서 파이썬 코드 작성 방법
■ 대화형 데이터 탐색
■ 판다스(pandas)로 효과적인 복잡한 데이터 조작 수행
■ 맷플롯립(matplotlib)과 seaborn으로 데이터 시각화
■ NumPy로 수학 모델 시뮬레이션
■ scikit-image를 활용해 주피터 노트북에서 이미지 시각화 및 처리
■ Numba, Cython, IPython.parallel로 코드 가속화
■ HTML, 자바스크립트, D3로 노트북 인터페이스 확장

이 책의 대상 독자

이 책은 데이터 분석이나 수학 모델의 수치 시뮬레이션을 수행하려는 독자를 대상으로 한다.
데이터가 점점 더 풍부해짐에 따라 효과적인 데이터 분석 방법은 반드시 알아야 할 기술이 됐다. 마이크로소프트 엑셀 같은 스프레드시트 프로그램을 다뤄봤다면, 파이썬을 이용해 손쉽게 시각화하거나 분석할 수 있다. 일반 목적 언어를 다룰 수 있다면, 다른 프로그램과 라이브러리로 분석하고 데이터를 공유하는 데 매우 편리하다.
이 책은 학생, 과학자, 공학자, 분석자, 언론인, 통계학자, 경제학자, 데이터 열광자에게도 큰 도움이 된다.

이 책의 구성

1장, ‘아이파이썬 시작’에서는 아나콘다(유명한 파이썬 배포판), 파이썬 언어, 주피터 노트북, 아이파이썬을 이해하기 쉽게 소개한다.

2장, ‘판다스로 대화형 데이터 분석하기’에서는 노트북과 판다스, 맷플롯립, seaborn으로 대화형 데이터 분석과 시각화를 직접 해보며 배워본다.

3장, ‘NumPy로 수치 계산하기’에서는 다차원 수치 배열을 효과적으로 계산하기 위해 NumPy를 살펴본다.

4장, ‘대화형 도표와 그래픽 인터페이스’에서는 주피터 노트북의 대화형 도표, 그래프, 이미지 처리, 대화형 그래픽 인터페이스에 대한 파이썬의 기능을 둘러본다.

5장, ‘고성능과 병렬 계산’에서는 병렬 계산과 파이썬 코드 컴파일을 활용해 수치 계산 코드를 가속화하는 다양한 방법을 알아본다.

6장, ‘아이파이썬 개별화’에서는 아이파이썬과 주피터 노트북을 사용 목적에 따라 확장해본다.

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

저자/역자 소개

지은이의 말

데이터 분석 기술은 과학 연구, 기술, 금융, 경제, 언론 등 다양한 분야에서 없어서는 안 될 기술이 되었다. 파이썬은 사용하기 쉽고 활발한 에코시스템을 갖춘, 데이터 과학에서 가장 인정받는 오픈소스 언어다.

이 책에서는 파이썬 데이터 분석 플랫폼인 아이파이썬(IPython, 대화형 파이썬)과 아이파이썬의 노트북을 중심으로 소개한다. 아이파이썬은 과학 계산과 데이터 분석에 적합한 향상된 대화형 파이썬 터미널인 반면, 노트북은 하나의 대화형 환경에서 코드, 텍스트, 수학식, 도표를 통합한 그래픽 인터페이스다.

아이파이썬 1.0이 출시되기 몇 달 전인 2013년 4월에 이 책의 첫판이 출간됐다. 이번 개정판은 2015년 8월에 출시한 아이파이썬 4.0에 맞췄다. 아이파이썬의 새로운 기능을 반영하는 한편, 프로그래머가 아닌 입문자도 쉽게 접근할 수 있도록 했다. 첫 장에서는 설치 과정과 파이썬 프로그래밍에 대해 알아본다.

이 책의 첫판을 출시한 이후, 수백 만 사용자가 아이파이썬을 사용하는 동시에 마이크로소프트, 구글, IBM 같은 거대 기업과 계속해서 협업이 이뤄지고 있다. 프로젝트는 중요한 변화를 수행하여 주피터 노트북이라는 언어와 독립적인 인터페이스를 만들고 백엔드 커널(backend kernel)을 다른 언어로 구현할 수 있도록 했다. 노트북은 파이썬뿐만 아니라 R, 줄리아(Julia), 루비, 하스켈 언어(이 글을 쓰는 시점에서 50개)와도 함께 사용할 수 있다.

2015년, 주피터 프로젝트는 레오나 M.과 앤 해리 B. 헬름슬레이 자선 트러스트, 고든 앤 베티 무어 재단, 앨프리드 P. 슬론 재단에서 투자를 받아, 개발자는 이 프로젝트의 성장과 성숙에 중점을 두고 있다.

지은이 소개

시릴 로산트(Cyrille Rossant)

신경정보과학(neuroinformatics) 연구자로서, 파리 에콜노르말쉬페리외르(Ecole Normale Sup rieure, Paris)에서 수학과 컴퓨터 과학을 전공한 후, 프린스턴 대학(Princeton University), 유니버시티 칼리지 런던 대학(University College London), 콜레주드프랑스(Coll ge de France) 대학에서 연구했다. 데이터 과학과 소프트웨어 엔지니어링 프로젝트의 한 분야인 기계 학습, 고성능 컴퓨팅, 병렬 처리, 빅데이터 시각화를 좋아하고 잘 다룬다.
고성능 시각화 파이썬 패키지 Vispy의 개발자이기도 하며, 이 책의 후속편 『IPython Interactive Computing and Visualization Cookbook』(팩트출판사)의 저자다. 이 책은 파이썬으로 데이터 과학과 수치 계산에 대해 좀 더 자세히 다룬다.

옮긴이의 말

최근 과학계의 뜨거운 감자는 중력파다. 노벨상까지 따 놓은 당상이라니 당분간 중력파는 과학의 한 가운데 있을 듯하다. 하루가 다르게 발전하는 기술과 첨단과학 환경을 고려해 볼 때, 100년 전 아인슈타인이 예측한 중력파의 증명이 얼마나 어려웠을지 가늠해볼 수 있다. 중력파 증명을 선언한 라이고(Ligo)의 오픈과학센터(https://losc.ligo.org/) 웹페이지에 가보니, 관련 데이터를 공개하고 있으며 처리 방법도 알려준다. 분석 언어와 환경이 파이썬과 노트북이다. 좀 더 전문적으로 사용하는 언어와 도구가 있다 하더라도, 첨단과학 그 중심에 파이썬과 노트북이 있는 것은 분명하다. 파이썬과 에코시스템이 새삼 위대해 보인다. 데이터를 이리저리 다루면서 장님 코끼리 만지기식이 아닌 실제 과학자처럼 그 현장감을 느껴본다.

데이터를 분석할 때 파이썬과 노트북은 첫 번째로 고려할 수 있는 환경이다. 파이썬 언어 자체의 쉬운 접근성과 과학, 도식 라이브러리를 포함한 에코시스템은 파이썬의 뛰어난 장점이다. 노트북은 데이터 분석에 적합한 환경을 제공한다. 데이터를 처리한 후, 그 결과를 바탕으로 또 다른 처리를 결정하는 순환적, 점진적 구조를 지원해, 최종 결과로 그 변환 과정을 한눈에 알 수 있다. 도표, 지도, 수식, 대화형 위젯 지원도 노트북의 뛰어난 기능이다. 필요한 기능을 추가할 수 있을 뿐만 아니라, 자주 사용하는 기능을 사용자 기능으로 만들 수도 있다. 이 책은 파이썬 언어에 대해 가볍게 설명한 후, 노트북을 소개한다. 더불어, 파이썬 에코시스템을 소개해 처음 분석을 접하는 독자가 자신의 분석에서 필요한 라이브러리를 찾거나 스스로 환경을 구축해나갈 수 있게 한다. 책이 다루는 범위가 방대하기 때문에 깊숙이 다루지 못하는 부분도 있지만 친절하게 관련 웹페이지를 소개한다. 좀 더 자세한 설명이 필요한 부분은 관련 라이브러리나 웹페이지를 참고해 해당 분야나 파이썬 기술의 최선전으로 나아갈 수 있다. 분석 언어로 파이썬을 고려한다면 이 책으로 시작해보길 권한다.

어떤 일이든 그에 적합한 도구가 중요하다. 갈릴레이가 망원경을 사용하지 않았다면 그의 세계관도 지구가 중심일 수도 있다. 파이썬과 노트북은 뛰어난 분석 기능과 환경을 제공하며 이 책은 그 출발점으로 충분하다. 중력파도 이제 망원경과 더불어 또 다른 우주 분석 기술이 될 수 있다. 그 바탕에는 데이터 분석이 필연적이며 파이썬과 노트북은 매우 좋은 친구다.

옮긴이 소개

전철욱

웹의 개방성, 파이썬의 기민성, 기계 학습의 예측성을 좋아한다. 공익을 위한 재능을 만들고자 노력 중이다. 호주에서 여우 세 마리에게 잡혀 살고 있다. 에이콘출판사의 『파이썬과 기계 학습』(2015), 『Julia 프로그래밍』(2015), 『Building Machine Learning Systems with Python 한국어판 (개정판)』(2015)과 『R을 활용한 기계 학습』(2014)을 번역했다.

목차

목차
  • 1. 아이파이썬 시작
    • 파이썬, 아이파이썬, 주피터 소개
      • 주피터와 아이파이썬
      • 이 책에서 다루는 내용
      • 참고
    • 아나콘다로 파이썬 설치
      • 아나콘다 다운로드
      • 아나콘다 설치
      • 시작하기 전
        • 터미널 열기
        • 홈 디렉토리 찾기
        • 시스템 경로 변경
      • 설치 테스트
      • 환경변수 관리
      • 일반 conda 명령
      • 참고
      • notebook 다운로드
    • 노트북 소개
      • 아이파이썬 콘솔 실행
      • 주피터 노트북 실행
      • 노트북 대시보드
      • 노트북 사용자 인터페이스
      • notebook 셀의 구조
        • 마크다운 셀
        • 코드 셀
      • 노트북 모달 인터페이스
        • 두 모드 모두에서 사용할 수 있는 키보드 단축키
        • 편집 모드에서만 사용할 수 있는 키보드 단축키
        • 명령 모드에서만 사용할 수 있는 키보드 단축키
      • 참고
    • 파이썬 맛보기
      • Hello world
      • 변수
      • 문자열 확장
      • 리스트
      • 반복문
      • 들여쓰기
      • 조건문
      • 함수
      • 위치 아규먼트와 키워드 아규먼트
      • Passage by assignment
      • 오류
      • 객체 지향 프로그래밍
      • 함수형 프로그래밍
      • 파이썬 2와 파이썬 3
      • 기본을 넘어
    • 10개의 주피터/아이파이썬 기본 사항
      • 아이파이썬을 확장 셸로 사용하기
      • 매직 명령 배우기
      • 탭 완성 정복하기
      • 마크다운으로 노트북에서 대화형 문서 작성
      • 노트북에서 대화형 위젯 만들기
      • 아이파이썬에서 파이썬 스크립트 실행
      • 파이썬 객체 조사하기
      • 파이썬 코드 디버깅
      • 파이썬 코드 벤치마킹
      • 파이썬 코드 프로파일링
    • 요약

  • 2. 판다스로 대화형 데이터 분석하기
    • 노트북에서 데이터셋 탐색
      • 데이터 출처
      • 데이터셋 다운로드 로딩
      • 맷플롯립으로 도표 그리기
      • 판다스와 seaborn을 사용한 기술 통계
    • 데이터 조작
      • 데이터 선택
        • 열 선택
        • 행 선택
        • 불 인덱싱으로 필터링
      • 계산하기
      • 텍스트 다루기
      • 날짜와 시간 다루기
      • 결측치 다루기
    • 복잡한 연산
      • Group-by
      • 조인
    • 요약

  • 3. NumPy로 수치 계산하기
    • 기본 벡터 계산
      • 다차원 배열
      • ndarray
      • ndarray에 대한 벡터 연산
      • NumPy는 왜 벡터 계산이 빠른가
      • ndarray를 메모리에 어떻게 저장할까
      • 왜 ndarray의 연산은 빠른가
    • 배열 생성과 로딩
      • 배열 생성
      • 파일에서의 배열 로딩
    • 기본 배열 조작
    • NumPy로 배열 계산
      • 선택과 인덱싱
      • 배열의 불린 연산
      • 배열에서 수학 연산
      • NumPy로 밀도 지도 그리기
      • 다른 주제
    • 요약

  • 4. 대화형 도표와 그래픽 인터페이스
    • 도표 백엔드 선택
      • 인라인 도표
      • 그림 외부 출력
      • GUI 툴킷
      • 동적 인라인 도표
      • 웹 기반 시각화
    • 맷플롯립과 seaborn 기본 사항
      • 맷플롯립을 사용한 일반 도표
      • 맷플롯립 도표 수정
      • 노트북에서 대화형 맷플롯립 그림 사용하기
      • seaborn으로 고수준 도표 그리기
    • 이미지 처리
    • 다른 도표와 시각화 라이브러리
      • 고수준 도표 그리기
        • Bokeh
        • Vincent와 Vega
        • Plotly
      • 지도와 기하학
        • 맷플롯립 Basemap 툴킷
        • GeoPandas
        • Leaflet 랩퍼: folium와 mplleaflet
      • 3D 시각화
        • Mayavi
        • VisPy
    • 요약

  • 5. 고성능과 병렬 계산
    • Numba로 파이썬 코드 가속화
      • 랜덤 워크
      • 일반 함수
    • Cython으로 파이썬에서 C 코드 작성
      • Cython와 파이썬을 위한 C 컴파일러 설치
      • 파이썬과 Cython으로 에라토스테네스 체 구현
    • IPython.parallel을 활용한 다중 코어로 작업 분산
      • 다이렉트 인터페이스
      • 로드밸런스드 인터페이스
    • 고성능 계산 기술
      • MPI
      • 분산 계산
      • C/C++과 파이썬
      • GPU 계산
      • PyPy
      • 줄리아
    • 요약

  • 6. 아이파이썬 개별화
    • 아이파이썬 확장으로 사용자 매직 명령 만들기
    • 새 주피터 커널 작성
    • 노트북에서 리치 HTML 요소 출력
      • 노트북에서 SVG 출력
      • 노트북에서 자바스크립트와 D3
    • 자바스크립트로 노트북 인터페이스 개별화
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.57: 5행]
객체는 타입의 인스턴스(클래스라고도 한다)이다.
->
객체는 타입(클래스라고도 한다.)의 인스턴스이다.

[p.59: 14행]
statemen
->
statement

[p.100: 14행]
초단위로
->
분단위로

[p.114 : 15행]
편비분방정식
->
편미분방정식

[p.166 : 9행]
이 컴파일는
->
이 컴파일러는

[p.177 : 12행]
jupyternotebook_config.py 파일은 CLI에서 jupyter notebook --generate-config 명령을 해줘야 생성됩니다.

[p.186: 4행]
적용한 같은 접근법이다.
->
적용한 것과 같은 접근법이다.