Pandas를 이용한 데이터 분석 실습 2/e [라이브러리로 다양한 실제 데이터 분석]
- 원서명Hands-On Data Analysis with Pandas, 2nd Edition: A Python data science handbook for data collection, wrangling, analysis, and visualization (ISBN 9781800563452)
- 지은이스테파니 몰린(Stefanie Molin)
- 옮긴이장기식, 김경환, 노용환
- ISBN : 9791161756950
- 50,000원 (eBook 40,000원)
- 2022년 11월 30일 펴냄
- 페이퍼백 | 848쪽 | 188*235mm
- 시리즈 : 데이터 과학
책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/data-analysis-pandas
요약
pandas는 파이썬에서 데이터 과학을 위한 강력하고 인기 있는 라이브러리다. 이 책은 주식 시장과 모의 해킹 시도, 기상 동향, 지진, 와인, 천문학 데이터 등 실제 데이터에 pandas를 이용한 데이터 분석 실습을 제공한다. pandas는 표 형식의 데이터를 효율적으로 다룰 수 있는 기능을 제공해 데이터 랭글링(data wrangling)과 시각화를 쉽게 할 수 있다. 데이터 분석 방법을 배운 다음에 다양한 응용 프로그램을 살펴본다. 파이썬 패키지를 구축한 다음, 데이터 시각화와 데이터 랭클링, 그리고 머신러닝을 위해 널리 사용되는 Matplotlib와 Seaborn, 넘파이(NumPy), Scikit-learn과 같은 추가 라이브러리를 사용해 주가 분석, 이상 탐지, 회귀, 군집화, 분류 문제에 도전한다. 이 책을 읽으면 파이썬으로 여러분만의 데이터 과학 프로젝트를 수행할 준비가 돼 있을 것이다.
추천의 글
교육자들은 자신이 선호하는 매체를 사용해 가르치는 경향이 있다. 개인적으로 경력을 시작할 즈음의 나는 비디오 콘텐츠에 매료됐다. 온라인 콘텐츠를 제작하면서 자주 듣는 질문 중 하나는 놀랍게도 ‘데이터 과학을 시작하는 사람들에게 추천할 만한 책이 있나요?’라는 질문이었다.
온라인에 좋은 자료가 많이 있는데도 책을 찾는 것에 처음에는 당황했으나 이 책을 읽은 후에는 데이터 과학 학습을 위한 책에 대한 내 인식이 바뀌었다.
이 책에서 가장 마음에 들었던 것은 책의 구성이었다. 적절한 양의 정보를 제때에 제공해 여러분이 자연스럽게 진도를 나갈 수 있도록 하고 있다. 본서를 통해 통계와 관련 개념에 관한 기초 지식부터 시작해 실습을 바탕으로 이론을 배울 수 있을 것이다.
기초를 배우고 나면 이 책의 핵심인 pandas를 만나게 된다. 저자는 (이전에 여러분들이 사용했던 것과 같은 오래된 데이터가 아닌) 최신 실제 데이터를 사용해 모듈(module)에 생명을 불어넣는다. 나 역시 이 책을 통해 몇 가지 기술을 배웠다.
이 책의 후반부에서는 pandas의 강력한 기능을 바탕으로 무엇을 할 수 있는지 배운다. 저자는 머신러닝의 고급 개념도 자세히 소개하지만 지나치게 기술적인 전문 용어를 사용하지 않으면서 진도를 나가는 데 필요한 정보를 충분히 제공한다.
나는 저자와 대화하면서 이 책에 대한 그녀의 자부심을 느낄 수 있었다. 이 책은 데이터 과학의 도구를 배우려는 사람들에게 좋은 자료이자 저자 자신의 지식을 확고히 하면서 본인의 영역을 확장할 수 있는 방법이기도 하다. 여러분은 커뮤니티뿐만 아니라 자신의 학습을 위해 창조하는 사람들로부터 배우고 싶을 것이다. 내재적 동기를 가진 사람들은 추가로 수정하거나 표현을 정확하게 하고자 더 많은 노력을 한다.
여러분도 나처럼 이 책에서 많은 것을 배울 수 있길 바란다. 위에서 내게 ‘데이터 과학을 시작하는 사람들에게 추천할 만한 책이 있나요?’ 라는 질문을 한 분들에 대한 대답은 바로 이 책이다.
— 켄 지(Ken Jee)
유튜버이자 스카우트 컨설팅 그룹(Scouts Consulting Group)의 데이터 과학 책임자 호놀룰루, 2021년 3월 9일이 책에서 다루는 내용
◆ 데이터 분석가와 과학자가 데이터를 수집하고 분석하는 방법 이해
◆ 파이썬으로 데이터 분석과 데이터 랭글링
◆ 여러 출처의 데이터를 결합, 그룹화 그리고 집계
◆ pandas와 matplotlib, seaborn으로 데이터 시각화
◆ 머신러닝 알고리듬으로 패턴을 식별, 예측
◆ 파이썬 데이터 과학 라이브러리를 사용해 실제 데이터세트 분석
◆ pandas로 일반적인 데이터 표현과 분석 문제 해결
◆ 분석 코드를 재사용할 수 있도록 파이썬 스크립트와 모듈, 그리고 패키지 생성
이 책의 대상 독자
이 책은 데이터 과학을 프로젝트에 적용하고 데이터 과학자와 협업하거나 소프트웨어 엔지니어와 함께 머신러닝 제품 코드 작업을 진행하고자 파이썬으로 데이터 과학을 배우려는 다양한 수준의 경험을 가진 사람들을 대상으로 한다. 다음과 같은 경험이 있다면 이 책을 최대로 활용할 수 있을 것이다.
R이나 SAS 또는 MATLAB과 같은 다른 언어로 데이터 과학을 경험하고 여러분의 작업을 파이썬으로 전환하고자 pandas를 배우려는 사람, 그리고 파이썬 경험이 있으며 파이썬을 사용해 데이터 과학을 배우려는 사람 모두가 읽기에 적합하다.
이 책의 구성
1장, ‘데이터 분석 소개 데이터 분석과 통계학의 기초’에서는 파이썬에서의 데이터 작업과 주피터 노트북(Jupyter Notebook) 사용을 위한 환경 설정 과정을 안내한다.
2장, ‘pandas 데이터프레임으로 작업하기’에서는 pandas 라이브러리를 소개하고 데이터프레임으로 작업하기 위한 기본 지식을 설명한다.
3장, ‘pandas로 데이터 랭글링하기’에서는 데이터 조작(data manipulation) 과정을 설명하고 API로 통한 데이터 수집 방법을 소개하며 pandas로 데이터 정제(data cleaning)와 재구성(reshaping)을 안내한다.
4장, ‘pandas로 데이터프레임 집계하기’에서는 데이터프레임에 질의(query)하고 병합하는 방법과 데이터프레임에서 이동 평균과 집계를 포함해 복잡한 계산을 하는 방법, 시계열 데이터를 효율적으로 다루는 방법을 다룬다.
5장, ‘pandas와 matplotlib로 데이터 시각화하기’에서는 파이썬에서 matplotlib 라이브러리를 사용해 데이터를 시각화하는 방법과 pandas 객체에서 직접 시각화하는 방법을 소개한다.
6장, ‘seaborn과 사용자 정의 기술로 그림 그리기’에서는 seaborn 라이브러리를 사용해 긴 형식의 데이터를 시각화하는 방법과 발표에 사용할 수 있도록 시각화를 사용자에게 맞게 수정할 수 있는 도구를 소개하면서 데이터 시각화에 관해 설명을 이어간다.
7장, ‘금융 분석-비트코인과 주식시장’에서는 주가 분석을 위한 파이썬 패키지를 만들고자 1장부터 6장까지 배운 모든 내용을 다룬다.
8장, ‘규칙 기반 이상 탐지’에서는 데이터를 시뮬레이션한 다음, 이상 탐지를 위한 규칙 기반 전략을 사용해서 웹 사이트에 인증을 시도하려는 해커를 잡고자 1장부터 6장까지 배운 모든 내용을 다룬다.
9장, ‘파이썬으로 머신러닝 시작하기’에서는 머신러닝과 Scikit-learn 라이브러리를 사용해 머신러닝 모델을 구축하는 방법을 소개한다.
10장, ‘예측 더 잘하기-모델 최적화’에서는 머신러닝 모델의 성능을 조정하고 개선하기 위한 전략을 알아본다.
상세 이미지
목차
목차
- 1부. pandas 시작하기
- 1장 데이터 분석 소개
- 1장 교재
- 데이터 분석 기초
- 데이터 수집
- 데이터 랭글링
- 탐색적 데이터 분석
- 결론 도출
- 통계 기초
- 표본 추출
- 기술통계학
- 추론통계학
- 가상 환경 설정하기
- 가상 환경
- 필수 파이썬 패키지 설치하기
- 왜 pandas인가?
- 주피터 노트북
- 요약
- 연습 문제
- 참고 자료
- 2장. pandas DataFrame으로 작업하기
- 2장 교재
- pandas 데이터 구조
- 시리즈
- 인덱스
- DataFrame
- pandas DataFrame 만들기
- 파이썬 객체로 DataFrame 만들기
- 파일로 DataFrame 만들기
- 데이터베이스로 DataFrame 만들기
- API에서 DataFrame 만들기
- DataFrame 객체 확인하기
- 데이터 검사하기
- 데이터 설명 및 요약하기
- 데이터의 부분집합 선택하기
- 열 선택하기
- 슬라이싱
- 인덱싱
- 필터링
- 데이터 추가하고 제거하기
- 새로운 데이터 만들기
- 원하지 않는 데이터 삭제하기
- 요약
- 연습 문제
- 참고 자료
- 데이터
- 2부. pandas로 데이터분석하기
- 3장. pandas로 데이터 랭글링하기
- 3장 교재
- 데이터 랭글링 이해하기
- 데이터 정제
- 데이터 변환
- 데이터 강화
- 기온 데이터를 찾고 수집하고자 API 사용하기
- 데이터 정제
- 열 이름 바꾸기
- 유형 변환
- 데이터 재정렬, 재인덱싱, 정렬
- 데이터 재구성하기
- DataFrame 전치
- DataFrame 피보팅
- DataFrame 멜팅
- 중복, 결측, 유효하지 않은 데이터 다루기
- 문제가 있는 데이터 찾기
- 문제 완화하기
- 요약
- 연습 문제
- 참고 자료
- 4장. pandas DataFrame 집계하기
- 4장 교재
- DataFrame을 데이터베이스처럼 작업하기
- DataFrame 질의하기
- DataFrame 병합하기
- 데이터 강화를 위한 DataFrame 연산
- 산술과 통계
- 데이터 이산화
- 함수 적용하기
- 윈도우 계산
- 파이프
- 데이터 집계
- DataFrame 요약하기
- 그룹으로 집계하기
- 피봇 테이블과 교차표
- 시계열 데이터로 작업하기
- 시간을 기준으로 선택하고 필터링하기
- 시차 데이터 이동하기
- 차분 데이터
- 재표본추출
- 시계열 데이터 병합하기
- 요약
- 연습 문제
- 참고 자료
- 5장. pandas와 matplotlib를 사용한 데이터 시각화
- 5장 교재
- matplotlib 소개
- 기초
- 그림 구성 요소
- 추가 옵션
- pandas로 그림 그리기
- 시간의 경과에 따른 변화
- 변수 간의 관계
- 분포
- 개수와 빈도수
- pandas.plotting 모듈
- 산포행렬
- 시차 그림
- 자기상관 그림
- 붓스트랩 그림
- 요약
- 연습 문제
- 참고 자료
- 6장. seaborn과 사용자 정의 기술로 그림 그리기
- 6장 교재
- seaborn으로 고급 그림 그리기
- 범주형 데이터
- 상관관계와 히트맵
- 회귀그림
- 패시팅
- matplotlib로 그림 형식 지정하기
- 제목과 축 이름
- 범례
- 축 형식 지정하기
- 시각화 사용자 정의하기
- 참조선 추가하기
- 음영 영역
- 주석
- 색상
- 질감
- 요약
- 연습 문제
- 참고 자료
- 3부. pandas를 이용한 실제 분석
- 7장. 금융 분석-비트코인과 주식 시장
- 7장 교재
- 파이썬 패키지 만들기
- 패키지 구조
- stock_analysis 패키지 개요
- UML 다이어그램
- 금융 데이터 수집하기
- StockReader 클래스
- 야후! 금융에서 과거 데이터 수집하기
- 탐색적 데이터 분석
- Visualizer 클래스 패밀리
- 주가 시각화하기
- 다중 자산 시각화하기
- 금융 상품의 기술적 분석
- StockAnalyzer 클래스
- AssetGroupAnalyzer 클래스
- 자산 비교하기
- 과거 데이터를 사용한 수익률 모델링
- StockModeler 클래스
- 시계열 분해
- ARIMA
- statsmodels의 선형회귀
- 모델 비교
- 요약
- 연습 문제
- 참고 자료
- 8장. 규칙 기반 비정상 행위 탐지
- 8장 교재
- 로그인 시도 시뮬레이션
- 가정
- loginattemptsimulator 패키지
- 터미널에서 시뮬레이션하기
- 탐색적 데이터 분석
- 규칙 기반 이상 탐지 구현
- 백분율 차
- 튜키 울타리
- Z-점수
- 성능 평가
- 요약
- 연습 문제
- 참고 자료
- 4부. scikit-learn을 이용한 머신러닝 소개
- 9장. 파이썬에서 머신러닝 시작하기
- 9장 교재
- 머신러닝 개요
- 머신러닝의 종류
- 일반적인 작업
- 파이썬으로 머신러닝하기
- 탐색적 데이터 분석
- 레드 와인 품질 데이터
- 화이트 와인과 레드 와인의 화학 성분 데이터
- 행성과 외계 행성 데이터
- 데이터 전처리
- 학습 데이터와 평가 데이터
- 데이터 척도화 및 중심화
- 데이터 부호화
- 대치
- 추가 변환기
- 데이터 파이프라인 구축
- 군집화
- k-평균
- 군집 결과 평가
- 회귀
- 선형회귀
- 회귀 결과 분석
- 분류
- 로지스틱 회귀
- 분류 결과 평가
- 요약
- 연습 문제
- 참고 자료
- 10장. 예측 더 잘하기-모델 최적화
- 10장 교재
- 격자검색을 통한 초매개변수 튜닝
- 특성 공학
- 상호작용 항과 다항식 특성
- 차원축소
- 특성 합집합
- 특성 중요도
- 앙상블 방법
- 확률숲
- 경사부스팅
- 투표
- 분류 예측 신뢰도 검사
- 계급불균형 해결
- 과소표본추출
- 과대표본추출
- 정칙화
- 요약
- 연습 문제
- 참고 자료
- 11장. 머신러닝 기반 비정상 행위 탐지
- 11장 교재
- 시뮬레이션 로그인 시도 데이터 탐색
- 비정상 행위 탐지에 비지도학습 모델 활용
- 고립숲
- 국소특이점인자
- 모델 비교
- 지도학습 비정상 행위 탐지 구현
- 기준 설정
- 로지스틱 회귀
- 피드백 되돌림과 온라인학습 통합
- PartialFitPipeline 하위 클래스 만들기
- 확률적 경사하강 분류기
- 요약
- 연습 문제
- 참고 자료
- 5부. 추가 자료
- 12장. 나아갈 길
- 데이터 출처
- 파이썬 패키지
- 데이터 검색
- API
- 웹사이트
- 데이터 작업 연습
- 파이썬 연습
- 요약
- 연습 문제
- 참고 자료
- 데이터 출처
- 해답