파이썬을 이용한 데이터 분석 2/e [다양한 파이썬 라이브러리와 소프트웨어를 활용한 데이터 사이언스의 이해]
- 원서명Python Data Analysis - Second Edition: Data manipulation and complex data analysis with Python (ISBN 9781787127487)
- 지은이아르만도 판당고(Armando Fandango)
- 옮긴이이창화
- ISBN : 9791161751078
- 30,000원
- 2018년 01월 24일 펴냄 (절판)
- 페이퍼백 | 400쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
NumPy, SciPy, Pandas, matplotlib, scikit-learn 등의 라이브러리를 이용해 IPython 및 Jupyter-notebook 기반의 파이썬 환경에서 작업을 하게 된다. 선형 대수, 데이터 시각화, 시계열 데이터, 데이터베이스와 같은 기본 개념을 살펴보며, 나아가 감성 분석, 예측 분석, 코드의 성능 개선에 대해서도 배운다. 수학 개념을 끌어와 다양한 분야에 적용해보며, 기본 개념부터 예제 응용, 고급 내용에 관한 데이터 과학을 공부할 수 있다.
이 책에서 다루는 내용
■ NumPy, SciPy, Pandas, statsmodels, scikit-learn, 떼아노(theano), 케라스(keras), 텐서플로와 같은 오픈소스 파이썬 모듈의 설치
■ 데이터의 준비 및 정제와 탐구 분석을 위한 데이터 활용
■ Pandas로 데이터 다루기
■ RDBMS, NoSQL, 분산 시스템(HDFS, HDF5 등)을 위한 데이터의 검색 및 저장
■ matplotlib, bokeh, plotly와 같은 오픈소스 라이브러리를 이용한 데이터 시각화
■ 지도, 비지도, 확률론적(probabilistic), 베이지안 등의 다양한 머신 러닝 기법 학습
■ 신호 처리와 시계열 데이터 분석의 이해
■ 그래프 처리 및 소셜 미디어 분석
이 책의 대상 독자
이 책은 기본적인 파이썬 지식을 갖췄으며, 파이썬 라이브러리를 이용한 데이터 분석을 배우고자 하는 수학자를 위해 쓰였다. 가능한 한 그 내용을 간단히 다루고자 노력했지만, 모든 주제를 자세히 기술하지 못했다. 수학에 관한 기본적인 내용은 칸 아카데미(Khan Academy)와 코세라(Coursera) 등의 온라인 플랫폼을 이용해 살펴보는 것도 좋을 듯하다.
이 책의 구성
1장. '파이썬 라이브러리로 시작하기'에서는 파이썬과 기본적인 파이썬 데이터 분석 라이브러리를 설치한다. NumPy를 사용해 간단한 애플리케이션을 작성하고 matplolib를 통해 기본적인 그래프를 그려본다.
2장. 'NumPy 배열 다루기'에서는 NumPy와 기본적인 배열을 소개한다. 끝부분에서는 NumPy 배열의 기본을 이해하고 관련된 함수를 살펴본다.
3장. 'Pandas 입문'에서는 Pandas 함수성, 자료 구조, 연산자에 대해 배운다.
4장. '통계학 및 선형 대수'에서는 선형 대수와 통계 함수를 간단히 살펴본다.
5장. '데이터의 검색, 처리, 저장'에서는 다양한 형식 파일에서 데이터를 얻는 방법과 원시 데이터를 정리하고 저장하는 방법을 배운다.
6장. '데이터 시각화'에서는 matplolib와 Pandas 플로팅(plotting) 함수를 사용해 데이터를 그래프화하는 방법을 소개한다.
7장. '신호 처리와 시계열'에서는 흑점 주기 데이터를 사용하는 시계열 및 신호 처리 예제를 살펴본다. 이 예제는 statsmodels와 함께 NumPy/SciPy를 사용한다.
8장. '데이터베이스로 작업하기'에서는 여러 데이터베이스(관계형 및 NoSQL)와 관련 API에 대해 배운다.
9장. '문자 데이터와 소셜 미디어 분석하기'에서는 감성 분석과 주제 인지를 위해 문자를 분석해본다. 주어진 네트워크 분석 예제 또한 살펴본다.
10장. '예측 분석과 머신 러닝'에서는 scikit-learn 라이브러리를 이용해 주어진 예제에서 날씨를 예측하는 인공지능에 대해 알아본다. scikit-learn 라이브러리에서 다루지 않은 알고리즘에 사용되는 다른 API도 사용해본다.
11장. '파이썬 외의 서비스 환경과 클라우드 컴퓨팅'에서는 파이썬으로 작성되지 않은 코드를 통합해 실행하는 방법을 배운다. 클라우드에서 파이썬을 사용하는 부분도 다룬다.
12장. '성능 튜닝, 프로파일링, 그리고 병렬 제어'에서는 키 기술을 통한 프로파일링과 Cython을 이용해 성능을 높여본다. 분산 시스템과 다중 코어에 적합한 프레임워크도 다룬다.
지은이의 말
데이터 분석은 자연과학, 생명공학, 사회과학 분야에서 풍부하게 사용되고 있다. 대부분의 산업 영역에서 데이터 분석은 ‘데이터 과학(Data Science)’이라고 불리며 그 영향을 넓혀가고 있다. 데이터 분석과 데이터 과학은 데이터로부터 정보를 추출해내는 작업으로 통계학, 머신 러닝, 신호 처리, 자연어 분석, 컴퓨터공학 등의 기술에 사용된다.
데이터 분석에 사용되는 파이썬 소프트웨어를 나타내는 마인드 맵을 1장에서 먼저 살펴본다. 첫 번째로 다룰 부분은 넓고 다양한 파이썬 생태계다. 여기에는 NumPy, SciPy, matplotlib와 같은 잘 알려진 패키지도 있다. 1989년부터 파이썬이 개발됐기 때문에 아마 많은 사람들이 알고 있을 것이다. 파이썬은 배우기 쉽고 사용하기도 쉬우며, 다른 언어에 비해 복잡하지 않고 간결하다. 파이썬에 대해 모르더라도 다른 언어를 배워봤다면, 며칠 안에 기본적인 부분은 익힐 수 있을 것이다. 이 책을 제대로 이해하려면, 기초보다 좀 더 나아간 수준의 지식이 필요하다. 파이썬에 관련된 도서, 강의, 온라인 교습들이 많으니 그것들을 활용하자.
목차
목차
- 1장. 파이썬 라이브러리로 시작하기
- 파이썬 3 설치하기
- 데이터 분석 라이브러리 설치하기
- 리눅스와 맥 OS X
- 윈도우
- 셸에서 IPython 사용하기
- 매뉴얼 읽어보기
- Jupyter Notebook
- NumPy 배열
- 간단한 예제
- 도움말 및 참조하기
- 파이썬 라이브러리의 모듈 나열하기
- matplotlib로 데이터 시각화하기
- 요약
- 파이썬 3 설치하기
- 2장. NumPy 배열 다루기
- NumPy 배열 객체
- NumPy 배열의 장점
- 다차원 배열 생성
- NumPy 배열 원소 추출하기
- NumPy 숫자형
- 자료형 객체
- 문자 코드
- dtype 생성자
- dtype 어트리뷰트
- 일차원 슬라이싱 및 인덱싱
- 배열 형상 다루기
- 배열 합치기
- NumPy 배열 쪼개기
- NumPy 배열 어트리뷰트
- 배열 변환하기
- 배열 뷰를 생성하고 복사하기
- 고급 인덱싱
- 위치 데이터로 인덱싱하기
- 논리형 방식으로 인덱싱하기
- 브로드캐스팅
- 요약
- 참고 자료
- NumPy 배열 객체
- 3장. Pandas 입문
- Pandas 설치와 둘러보기
- Pandas 데이터프레임
- Pandas 시리즈
- Pandas의 데이터 검색
- Pandas 데이터프레임과 통계학
- Padas 데이터프레임과 데이터 수집
- 데이터프레임 연쇄와 추가
- 데이터프레임 조인
- 누락된 데이터 다루기
- 날짜 다루기
- 피벗 테이블
- 요약
- 참고 자료
- 4장. 통계학및 선형 대수
- NumPy와 기본적인 통계학
- NumPy와 선형 대수학
- NumPy와 역행렬
- NumPy로 선형 시스템 해석하기
- NumPy와 고유 값 및 고유 벡터
- NumPy와 난수
- 갬블링과 이항 분포
- 정규 분포 샘플링
- SciPy와 정규성 검정
- NumPy와 마스킹된 배열
- 음수및 극단적인 값들의 제거
- 요약
- 5장. 데이터 검색과 처리, 저장
- NumPy와 Pandas로 CSV 파일 쓰기 .npy와 피클 포맷
- PyTables와 데이터 저장
- HDF5 형태로 Pandas 데이터프레임 읽기 및 쓰기
- Pandas로 엑셀 파일 읽기 및 쓰기
- REST 웹 서비스 및 JSON
- Pandas와 JSON 읽기 및 쓰기
- RSS 및 Atom 피드 파싱
- Beautiful Soup를 활용한 HTML 파싱
- 요약
- 참고 자료
- 6장. 데이터 시각화
- matplotlib 패키지
- 기본적인 matplotlib 플롯
- 로그 플롯
- 분산 플롯
- 범례 및 주석 3차원 플롯
- Pandas와 플로팅
- 지연 플롯
- 자기 상관 플롯
- Plot.ly
- 요약
- 7장. 신호 처리와 시계열
- statsmodels 모듈
- 이동 평균법
- 윈도우 함수
- 공적분
- 자기 상관
- 자기 회귀 모델
- ARMA 모델
- 주기적인 신호 발생하기
- 푸리에 분석
- 스펙트럼 분석
- 필터링
- 요약
- 8장. 데이터베이스로 작업하기
- sqlite3의 개요
- Pandas로 데이터베이스 접근하기
- SQLAlchemy
- SQLAlchemy 설치하고 구성하기
- SQLAlchemy로 데이터베이스 추가하기
- SQLAlchemy로 데이터베이스 쿼리하기
- Pony ORM
- Dataset: 사용하기 쉬운 데이터베이스
- PyMongo와 MongoDB
- Redis에 데이터 저장하기
- memcache에 데이터 저장하기
- Apache Cassandra
- 요약
- 9장. 문자 데이터와 소셜 미디어 분석하기
- NLTK 설치
- NLTK란?
- 불용어, 고유 명사, 숫자 걸러내기
- 단어 주머니 모델
- 단어 빈도수 분석
- 나이브 베이즈 분류기
- 감성 분석
- 워드 클라우드 만들기
- 소셜 미디어 분석
- 요약
- 10장. 예측 분석과 머신 러닝
- 전처리
- 로지스틱 회귀 분석을 이용한 분류
- 서포트 벡터 머신을 이용한 분류
- ElasticNetCV를 이용한 회귀 분석
- 서포트 벡터 회귀 분석
- 친근도 전파를 이용한 클러스터링
- 평균 이동
- 유전자 알고리즘
- 신경망
- 결정 트리
- 요약
- 11장. 파이썬 외의 서비스 환경과 클라우드 컴퓨팅
- Matlab/Octave로 정보 주고받기
- rpy2 패키지 설치 R 언어 인터페이스
- 자바로 NumPy 배열 넘겨주기
- SWIG와 NumPy 통합하기
- Boost와 파이썬 통합하기
- F2py로 포트란 코드 사용하기
- PythonAnywhere 클라우드
- 요약
- 12장. 성능 튜닝, 프로파일링, 그리고 병렬 제어
- 코드 프로파일링
- Cython 설치하기 C 코드 호출하기
- 다중 처리로 풀 작업 생성하기
- Joblib에서 병렬 for 반복문을 사용해 속도 높이기
- Bottleneck과 NumPy 함수 비교하기
- Jug로 맵리듀스 실행하기
- 파이썬에서 MPI 설치하기
- 병렬 IPython
도서 오류 신고
정오표
정오표
[p. 58 배열 형상 다루기]
앞서 reshape() 함수에 대해 배워봤다.
->
문장 삭제