이미 소장하고 있다면 판매해 보세요.
|
__옮긴이의 말
__지은이의 말 __코드 예제 활용 __표지 설명 CHAPTER 1 시작하기 전에 __1.1 이 책은? __1.2 왜 데이터 분석을 위한 파이썬인가? ____1.2.1 접착제처럼 사용하는 파이썬 ____1.2.2 한 가지 언어만 사용 ____1.2.3 파이썬을 사용하면 안 되는 경우 __1.3 필수 파이썬 라이브러리 ____1.3.1 NumPy ____1.3.2 pandas ____1.3.3 matplotlib ____1.3.4 IPython ____1.3.5 SciPy __1.4 설치와 설정 ____1.4.1 윈도우 ____1.4.2 애플 OS X ____1.4.3 리눅스 ____1.4.4 파이썬 2.x와 파이썬 3.x ____1.4.5 통합 개발 환경 __1.5 커뮤니티와 컨퍼런스 __1.6 이 책을 살펴보는 방법 ____1.6.1 예제 코드 ____1.6.2 예제에 사용된 데이터 ____1.6.3 import 컨벤션 ____1.6.4 용어 __1.7 감사의 말 CHAPTER 2 사례 소개 __2.1 bit.ly의 1.usa.gov 데이터 ____2.1.1 순수 파이썬으로 표준시간대 세어보기 ____2.1.2 pandas로 표준시간대 세어보기 __2.2 MovieLens의 영화 평점 데이터 ____2.2.1 평점 차이 구하기 __2.3 신생아 이름 ____2.3.1 이름 유행 분석 __2.4 맺음말 CHAPTER 3 IPython 소개 __3.1 IPython 기본 ____3.1.1 탭 자동 완성 ____3.1.2 자기관찰 ____3.1.3 %run 명령어 ____3.1.4 클립보드에 있는 코드 실행하기 ____3.1.5 키보드 단축키 ____3.1.6 예외와 트레이스백 ____3.1.7 매직 명령어 ____3.1.8 Qt 기반의 GUI 콘솔 ____3.1.9 Pylab 모드와 Matplolib 통합 __3.2 명령어 히스토리 사용하기 ____3.2.1 명령어 검색과 재사용 ____3.2.2 입·출력 변수 ____3.2.3 입·출력 기록하기 __3.3 운영체제와 함께 사용하기 ____3.3.1 셸 명령어와 별칭 ____3.3.2 디렉터리 북마크 시스템 __3.4 소프트웨어 개발 도구 ____3.4.1 인터랙티브 디버거 ____3.4.2 코드 시간 측정: %time과 %timeit ____3.4.3 기본적인 프로파일링: %prun과 %run -p ____3.4.4 함수의 각 줄마다 프로파일링하기 __3.5 IPython HTML 노트북 __3.6 IPython을 사용한 제품 개발을 위한 팁 ____3.6.1 모듈 의존성 리로딩하기 ____3.6.2 코드 설계 팁 __3.7 IPython 고급 기능 ____3.7.1 IPython 친화적인 클래스 만들기 ____3.7.2 프로파일과 설정 __3.8 감사의 글 CHAPTER 4 NumPy 기본: 배열과 벡터 계산 __4.1 NumPy ndarray: 다차원 배열 객체 ____4.1.1 ndarray 생성 ____4.1.2 ndarray의 자료형 ____4.1.3 배열과 스칼라 간의 연산 ____4.1.4 색인과 슬라이싱 기초 ____4.1.5 불리언 색인 ____4.1.6 팬시 색인 ____4.1.7 배열 전치와 축 바꾸기 __4.2 유니버설 함수 __4.3 배열을 사용한 데이터 처리 ____4.3.1 배열연산으로 조건절 표현하기 ____4.3.2 수학 메서드와 통계 메서드 ____4.3.3 불리언 배열을 위한 메서드 ____4.3.4 정렬 ____4.3.5 집합 함수 __4.4 배열의 파일 입·출력 ____4.4.1 배열을 바이너리 형식으로 디스크에 저장하기 ____4.4.2 텍스트 파일 불러오기와 저장하기 __4.5 선형대수 __4.6 난수 생성 __4.7 계단 오르내리기 예제 ____4.7.1 한 번에 계단 오르내리기 시뮬레이션하기 CHAPTER 5 pandas 시작하기 __5.1 pandas 자료 구조 소개 ____5.1.1 Series ____5.1.2 DataFrame ____5.1.3 색인 객체 __5.2 핵심 기능 ____5.2.1 재색인 ____5.2.2 하나의 로우 또는 칼럼 삭제하기 ____5.2.3 색인하기, 선택하기, 거르기 ____5.2.4 산술연산과 데이터 정렬 ____5.2.5 함수 적용과 매핑 ____5.2.6 정렬과 순위 ____5.2.7 중복 색인 __5.3 기술통계 계산과 요약 ____5.3.1 상관관계와 공분산 ____5.3.2 유일 값, 값 세기, 멤버십 __5.4 누락된 데이터 처리하기 ____5.4.1 누락된 데이터 골라내기 ____5.4.2 누락된 값 채우기 __5.5 계층적 색인 ____5.5.1 계층 순서 바꾸고 정렬하기 ____5.5.2 단계별 요약통계 ____5.5.3 DataFrame의 칼럼 사용하기 __5.6 pandas와 관련된 기타 주제 ____5.6.1 정수 색인 ____5.6.2 Panel 데이터 CHAPTER 6 데이터 로딩, 저장, 파일 형식 __6.1 텍스트 파일 이용하는 방법 ____6.1.1 텍스트 파일 조금씩 읽어오기 ____6.1.2 데이터를 텍스트 형식으로 기록하기 ____6.1.3 수동으로 구분 형식 처리하기 ____6.1.4 JSON 데이터 ____6.1.5 XML과 HTML: 웹 내용 긁어오기 __6.2 이진 데이터 형식 ____6.2.1 HDF5 형식 사용하기 ____6.2.2 마이크로소프트 엑셀 파일에서 데이터 읽어오기 __6.3 HTML, 웹 API와 함께 사용하기 __6.4 데이터베이스와 함께 사용하기 ____6.4.1 MongoDB에 데이터 저장하고 불러오기 CHAPTER 7 데이터 준비하기: 다듬기, 변형, 병합 __7.1 데이터 합치기 ____7.1.1 데이터베이스 스타일로 DataFrame 합치기 ____7.1.2 색인 머지하기 ____7.1.3 축 따라 이어붙이기 ____7.1.4 겹치는 데이터 합치기 __7.2 재형성과 피벗 ____7.2.1 계층적 색인으로 재형성하기 ____7.2.2 피버팅으로 데이터 나열 방식 바꾸기 __7.3 데이터 변형 ____7.3.1 중복 제거하기 ____7.3.2 함수나 매핑 이용해 데이터 변형하기 ____7.3.3 값 치환하기 ____7.3.4 축 색인 이름 바꾸기 ____7.3.5 개별화와 양자화 ____7.3.6 특이값 찾아내고 제외하기 ____7.3.7 치환과 임의 샘플링 ____7.3.8 표시자/더미 변수 __7.4 문자열 다루기 ____7.4.1 문자열 객체 메서드 ____7.4.2 정규표현식 ____7.4.3 pandas의 벡터화된 문자열 함수 __7.5 예제: 미국 농무부 음식 데이터베이스 CHAPTER 8 도식화와 시각화 __8.1 matplotlib API 간략하게 살펴보기 ____8.1.1 Figure와 서브플롯 ____8.1.2 색상, 마커, 선 스타일 ____8.1.3 눈금, 라벨, 범례 ____8.1.4 주석과 그림 추가 ____8.1.5 그래프를 파일로 저장 ____8.1.6 matplotlib 설정 __8.2 pandas에서 그래프 그리기 ____8.2.1 선 그래프 ____8.2.2 막대 그래프 ____8.2.3 히스토그램과 밀도 그래프 ____8.2.4 산포도 __8.3 지도 그리기: 아이티 지진 데이터 시각화하기 __8.4 파이썬 시각화 도구 생태계 ____8.4.1 Chaco ____8.4.2 mayavi ____8.4.3 기타 패키지 ____8.4.4 시각화 도구의 미래 CHAPTER 9 데이터 수집과 그룹 연산 __9.1 GroupBy 메카닉 ____9.1.1 그룹 간 순회하기 ____9.1.2 칼럼 또는 칼럼의 일부만 선택하기 ____9.1.3 사전과 Series에서 묶기 ____9.1.4 함수로 묶기 ____9.1.5 색인 단계로 묶기 __9.2 데이터 수집 ____9.2.1 칼럼에 여러 가지 함수 적용하기 ____9.2.2 색인되지 않은 형태로 집계된 데이터 반환하기 __9.3 그룹별 연산과 변형 ____9.3.1 apply: 분리-적용-병합 ____9.3.2 변위치 분석과 버킷 분석 ____9.3.3 예제: 그룹에 국한된 값으로 누락된 값 채우기 ____9.3.4 예제: 랜덤 표본과 순열 ____9.3.5 예제: 그룹 가중 평균과 상관관계 ____9.3.6 예제: 그룹 상의 선형 회귀 __9.4 피벗 테이블과 교차일람표 ____9.4.1 교차일람표 __9.5 예제: 2012년 연방 선거관리위원회 데이터베이스 ____9.5.1 직장 및 피고용별 기부 통계 ____9.5.2 기부금액 ____9.5.3 주별 기부 통계 CHAPTER 10 시계열 __10.1 날짜, 시간 자료형, 도구 ____10.1.1 문자열을 datetime으로 변환하기 __10.2 시계열 기초 ____10.2.1 인덱싱, 선택, 부분 선택 ____10.2.2 중복된 색인을 갖는 시계열 __10.3 날짜 범위, 빈도, 이동 ____10.3.1 날짜 범위 생성하기 ____10.3.2 빈도와 날짜 오프셋 ____10.3.3 데이터 시프트 __10.4 시간대 다루기 ____10.4.1 지역화와 변환 ____10.4.2 시간대 고려해 Timestamp 객체 다루기 ____10.4.3 다른 시간대 간의 연산 __10.5 기간과 기간 연산 ____10.5.1 Period의 빈도 변환 ____10.5.2 분기 빈도 ____10.5.3 타임스탬프와 기간 서로 변환하기 ____10.5.4 배열을 이용해 PeriodIndex 생성하기 __10.6 리샘플링과 빈도 변환 ____10.6.1 다운샘플링 ____10.6.2 업샘플링과 보간 ____10.6.3 기간 리샘플링 __10.7 시계열 그래프 __10.8 이동창 기능 ____10.8.1 지수 가중 함수 ____10.8.2 이진 이동창 함수 ____10.8.3 사용자 정의 이동창 함수 __10.9 성능과 메모리 사용량에 대한 노트 CHAPTER 11 금융, 경제 데이터 애플리케이션 __11.1 데이터 준비 ____11.1.1 시계열과 크로스 섹션 정렬 ____11.1.2 다른 빈도를 가지는 시계열 연산 ____11.1.3 일별 시간과 현재 최신 데이터 선택하기 ____11.1.4 데이터와 함께 나누기 ____11.1.5 수익 지수와 누적 수익 __11.2 그룹 변환과 분석 ____11.2.1 그룹 요인 밝히기 ____11.2.2 십분위와 사분위 분석 __11.3 추가 예제 애플리케이션 ____11.3.1 신호 경계 분석 ____11.3.2 선물 계약 롤링 ____11.3.3 롤링 상관관계와 선형 회귀 CHAPTER 12 고급 NumPy __12.1 ndarray 객체 내부 알아보기 __12.1.1 NumPy dtype 구조 __12.2 고급 배열 조작 기법 ____12.2.1 배열 재형성하기 ____12.2.2 C와 포트란 순서 ____12.2.3 배열 이어붙이고 나누기 ____12.2.4 원소 반복시키기: repeat과 tile ____12.2.5 팬시 색인: take와 put __12.3 브로드캐스팅 ____12.3.1 다른 축에 대해 브로드캐스팅하기 ____12.3.2 브로드캐스팅 이용해 배열에 값 대입하기 __12.4 고급 ufunc 사용법 ____12.4.1 ufunc 인스턴스 메서드 ____12.4.2 사용자 ufunc __12.5 구조화된 배열과 레코드 배열 ____12.5.1 중첩된 dtype과 다차원 필드 ____12.5.2 구조화된 배열을 사용해야 하는 이유 ____12.5.3 구조화된 배열 다루기: numpy.lib.recfunctions __12.6 정렬에 관하여 ____12.6.1 간접 정렬: argsort와 lexsort ____12.6.2 다른 정렬 알고리즘 ____12.6.3 numpy.searchsorted: 정렬된 배열에서 원소 찾기 __12.7 NumPy matrix 클래스 __12.8 고급 배열 입·출력 ____12.8.1 메모리 맵 파일 ____12.8.2 HDF5 및 기타 배열 저장 옵션 __12.9 성능 팁 ____12.9.1 인접 메모리의 중요성 __12.9.2 기타 성능 옵션: Cython, f2py, C 부록 파이썬 언어의 기본 __A.1 파이썬 인터프리터 __A.2 파이썬 기초 ____A.2.1 시멘틱 ____A.2.2 스칼라형 ____A.2.3 흐름 제어 __A.3 자료 구조와 순차 자료형 ____A.3.1 튜플 ____A.3.2 리스트 ____A.3.3 내장 순차 자료형 함수 ____A.3.4 사전 ____A.3.5 세트 ____A.3.6 리스트 내포, 사전 내포, 세트 내포 __A.4 함수 ____A.4.1 네임스페이스, 스코프, 지역 함수 ____A.4.2 여러 값 반환하기 ____A.4.3 함수도 객체다 ____A.4.4 익명 함수 ____A.4.5 클로저: 함수를 반환하는 함수 ____A.4.6 *args와 **kwargs를 사용해서 호출 문법 확장하기 ____A.4.7 커링: 일부 인자만 취하기 ____A.4.8 제너레이터 __A.5 파일과 운영체제 __Index |
지은이 서문
과학계산용 파이썬 오픈 소스 라이브러리의 생태계는 지난 10년간 두드러진 성장세를 보였다. 2011년 말부터 나는 데이터 분석이나 통계 작업을 하려는 파이썬 개발자들이 데이터 분석과 통계용 애플리케이션을 배울 만한 학습 자료가 없다는 점을 안타깝게 생각하게 되었다. 데이터 분석용 핵심 프로젝트, 특히 NumPy, IPython, matplotlib, pandas는 이미 충분히 안정 단계에 접어들었기에 관련 도서가 나와도 금세 유행에 뒤처지지는 않을 것이다. 그래서 2007년, 처음 파이썬을 데이터 분석에 사용했을 때 있었으면 하고 바랐던 책을 집필하기로 마음 먹었다. 이 책이 부디 여러분에게 유용하기를 바라며 아울러 이 책에서 소개하는 도구들이 여러분의 업무에 많은 도움이 될 수 있기를 진심으로 바란다. - 웨스 맥키니 옮긴이 서문 내 생각에 파이썬은 프로그래밍 언어계의 아이돌이다. 등장 시점부터 간결하고 세련된 문법을 앞세워 큰 인기를 끌었고 지금은 아주 많은 분야에서 다양하게 사용되고 있다. 프로그래밍을 업으로 삼고 있는 사람이 아니더라도 쉽게 익힐 수 있는 놀랍도록 매력적인 이 언어의 특징은 이 책의 저자이자 파이썬 데이터 분석 라이브러리인 pandas를 개발한 웨스 맥키니의 사례에서도 극명하게 드러난다. 수학을 전공하고 금융권에서 분석가로 근무하던 저자는 자신의 업무를 위한 쓸 만한 라이브러리가 없음에 좌절하고 파이썬을 배우기 시작해서 가장 유명한 파이썬 데이터 분석 라이브러리인 pandas를 개발했다. 쉬우면서도 범용적 언어인 파이썬을 이용해서 데이터 분석 작업을 하길 원하는 독자에게 이 책은 다양한 분야의 사례를 통해 단계별로 파이썬과 pandas를 이용해서 데이터를 정제하고 분석, 도식화까지 할 수 있도록 안내해줄 것이다. 뿐만 아니라 데이터 분석 과정을 직접 체험할 수 있는 다양한 이 책의 예제 덕분에 개인적으로도 재미있게 읽을 수 있었던 흔치 않은 개발서다. 소위 말하는 '빅데이터'가 인기를 끌면서 대기업은 물론 작은 스타트업까지 데이터 분석 및 활용의 필요성이 대두하고 공공기관에서도 데이터 활용을 위해 DB를 공개하는 요즘, 활용도가 높은 훌륭한 책을 번역하게 되어 큰 영광이다. 바쁜 와중에 휴가도 미뤄가며 베타리딩을 해주신 SK C&C의 안건국 과장님과 신정안, 송주영 과장님, 항상 관심을 가지고 번역이 막힐 때마다 같이 고민해준 스마트 마일리지의 이진석 군, 여러 가지 개인 사정으로 인해 일정이 많이 밀렸음에도 끝까지 번역을 맡겨주시고 책이 출판되기까지 너무나도 많은 노력을 해주신 한빛미디어 조희진 편집자님과 김태헌 사장님, 마지막으로 항상 힘이 되어주는 동생 은애와 고향에 계신 어머니, 그리고 이제 다시는 뵐 수 없는 아버지께도 진심으로 감사의 마음을 전하고 싶다. - 2013년 가을 초입에, 김영근 ---본문 중에서 |
파이썬을 이용한 데이터 조작, 처리, 정비에 관한 완벽한 교재가 필요한가?
이 책은 NumPy, pandas, matplotlib, IPython 등의 다양한 파이썬 라이브러리를 사용해서 효과적으로 데이터를 분석할 수 있게 알려준다. 연대별 이름 통계 자료, 미 대선 데이터베이스 자료를 기반으로 한 실사례 연구를 따라하다보면 어느덧 여러분도 데이터에 알맞게 접근하고 효과적으로 분석하는 전문가가 될 것이다. pandas는 특히 파이썬을 처음 접하는 애널리스트와 처음으로 데이터를 분석하는 파이썬 개발자가 손쉽게 활용할 수 있는 도구로 유명하다. ·pandas, NumPy, matplotlib, IPython 등 다양한 파이썬 라이브러리 소개 및 활용 ·연대별 이름 통계 자료, 미 대선 데이터베이스 자료 등의 사례 연구 어떤 독자를 위한 책인가? ·빅데이터 관련 개발자 ·데이터를 분석해서 비즈니스에 활용하고자 하는 사람 ·데이터 과학자 ·R 이외의 데이터 분석 언어를 배우고자 하는 사람 |