파이썬 기초 with 데이터 분석과 시각화
책 소개
『파이썬 입문』은 프로그래밍을 처음 접하는 학생과 일반인 또는 다른 컴퓨터 언어는 어느 정도 알지만 파이썬은 처음인 분을 대상으로 내용이 구성되었다. 이 책은 두 단계로 구성되어 있다. 첫 단계에서는 변수, 데이터 형, 조건문, 반복문, 함수, 리스트, 튜플, 딕셔너리, 객체지향 등의 파이썬 기초를 익힌다. 그리고 두 번째 단계에서는 Numpy, Pandas, Matplotlib의 파이썬 패키지를 이용하여 데이터 분석과 시각화를 하는 방법을 배운다. 또한 실제 공공 기관에서 제공하는 전국 약국 데이터 분석, 제주도 기상 데이터 분석, 전국 초등학교 학생 데이터 분석, 국내 인구 통계 분석 및 시각화에 파이썬을 활용하는 방법을 익힌다.
목차
Chpater01. 파이썬과 개발 툴
1.1 파이썬 개요
1.1.1 파이썬이란?
1.1.2 파이썬의 특징
1.2 개발 툴 소개
1.2.1 기본 개발 툴(IDLE)
1.2.2 주피터 노트북
1.2.3 파이참
1.2.4 서브라임 텍스트
1.3 IDLE 설치 및 사용법
1.3.1 IDLE 설치
1.3.2 파이썬 쉘 사용법
1.3.3 IDLE 에디터 사용법
연습문제
Chapter02. 파이썬의 기본 문법
2.1 변수
2.1.1 변수에 값 저장
2.1.2 변수명 규칙
2.2 데이터 형
2.2.1 숫자
2.2.2 문자열
2.2.3 불
2.3 숫자 계산
2.3.1 산술 연산자
2.3.2 할당 연산자
2.4 문자열 처리
2.4.1 문자열 반복하기
2.4.2 문자열 길이 구하기
2.4.3 문자열 연결하기
2.4.4 문자열 포맷팅
2.5 출력과 입력
2.5.1 화면 출력
2.5.2 키보드 입력
2.6 주석문
[코딩연습]
Q21 삼각형의 면적 구하기
Q22 거스름돈 계산하기
Q23 숫자 연산자
Q24 문자열 추출과 문자열 포맷팅
Q25 성적 입력받아 평균 구하기
연습문제
Chapter03. 조건문
3.1 조건문이란?
3.1.1 if문의 동작원리
3.1.2 파이썬의 들여쓰기
3.2 비교 연산자와 논리 연산자
3.2.1 비교 연산자
3.2.2 논리 연산자
3.3 if∼ 구문
3.4 if∼ else∼ 구문
3.5 if∼ elif∼ else∼ 구문
3.6 만 나이 계산하기
[코딩연습]
Q31 월을 입력받아 계절 표시하기
Q32 숫자로 열차 좌석 판별하기
Q33 4의 배수인지 5의 배수인지 판별하기
Q34 영어 알파벳 모음/자음 판별하기
Q35 키와 몸무게에 따라 체형 판정하기
Q36 할인율에 따른 지불 금액 계산하기
Q37 세 수 중 가장 큰 수 찾기
Q38 고객 만족도에 따른 팁 계산하기
연습문제
Chapter04. 반복문
4.1 반복문이란?
4.2 for문
4.2.1 for문의 기본 구조
4.2.2 for문에서 range() 함수 활용
4.2.3 배수의 합계(for문)
4.2.4 for문에서 문자열 다루기
4.2.5 단위 환산표 만들기
4.3 이중 for문
4.4 while문
4.4.1 while문의 기본 구조
4.4.2 배수의 합계(while문)
4.4.3 while문에서 문자열 다루기
4.5 break문
[코딩연습]
Q41 5의 배수가 아닌 수의 합계 구하기
Q42 전화번호에서 하이픈() 삭제하기
Q43 전화번호에 하이픈() 추가하기
Q44 길이 단위 환산표 만들기
Q45 무게 단위 환산표 만들기
Q46 홀수 개수 세기
Q47 별표(*)로 특정 형태 만들기 1
Q48 별표(*)로 특정 형태 만들기 2
Q49 섭씨/화씨 환산표 만들기(while문)
Q410 3의 배수가 아닌 수 출력하기(while문)
Q411 문장 역순으로 출력하기(while문)
연습문제
Chapter 05. 리스트
5.1 리스트 생성과 추출
5.2 리스트 다루기
5.2.1 리스트 요소 추가
5.2.2 리스트 요소 삭제
5.2.3 리스트 요소 카운트
5.2.4 리스트 정렬
5.3 반복문에서 리스트 활용
5.3.1 for문에서 리스트 활용
5.3.2 while문에서 리스트 활용
5.4 2차원 리스트
5.4.1 2차원 리스트의 구조
5.4.2 for문에서 2차원 리스트 활용
[코딩연습]
Q51 리스트 추출하기
Q52 list()와 range()로 리스트 생성하기
Q53 리스트 요소 추가하기
Q54 리스트 요소 삭제하기
Q55 리스트 병합하기
Q56 while문에서 리스트 활용하기
Q57 리스트를 이용한 영어 단어 퀴즈
Q58 예제 510 while문으로 작성하기
Q59 리스트를 이용한 합계/평균 구하기
Q510 영화관의 빈 좌석 표시하기
연습문제
Chapter 06. 튜플과 딕셔너리
6.1 튜플
6.1.1 튜플 생성과 추출
6.1.2 튜플 병합과 길이
6.2 딕셔너리
6.2.1 딕셔너리의 기본 구조
6.2.2 딕셔너리 요소의 추가/수정/삭제
6.2.3 for문에서 딕셔너리 활용
[코딩연습]
Q61 튜플로 구구단표 만들기
Q62 튜플로 관리자 정보 처리하기
Q63 딕셔너리로 성적 합계/평균 구하기
Q64 딕셔너리로 정보 접근 제어하기
Q65 딕셔너리로 영어 단어 퀴즈 만들기
연습문제
Chapter 07. 함수
7.1 함수란?
7.1.1 함수의 정의와 호출
7.1.2 함수의 종류
7.2 매개변수와 반환 값
7.2.1 매개변수란?
7.2.2 매개변수 *args
7.2.3 매개변수의 변수 전달 방식
7.2.4 함수 값의 반환
7.3 람다 함수
7.4 변수의 범위
7.4.1 지역 변수
7.4.2 전역 변수
7.5 파일 처리 함수
7.5.1 파일 쓰기
7.5.2 파일 읽기
[코딩연습]
Q71 함수로 정수 합계 구하기
Q72 함수로 배수 합계 구하기
Q73 함수로 최대 공약수 구하기
Q74 함수로 만드는 영어 단어 퀴즈
Q75 함수로 세 수 중 큰 수 찾기
Q76 파일에서 성적 합계/평균 구하기
연습문제
Chapter 08. 모듈과 패키지
8.1 모듈이란?
8.1.1 모듈 생성하기
8.1.2 모듈 사용하기
8.2 math 모듈
8.2.1 정수 관련 함수
8.2.2 삼각/로그/제곱/제곱근 함수
8.2.3 삼각함수
8.3 random 모듈
8.3.1 random 모듈의 함수
8.3.2 주사위 게임 만들기
8.3.3 가위, 바위, 보 게임 만들기
8.4 datetime 모듈
8.5 패키지
연습문제
Chapter 09. 객체지향 프로그래밍
09.1 객체지향이란?
09.1.1 클래스, 객체, 속성, 메소드의 개념
09.1.2 클래스와 객체의 관계
09.2 생성자
09.3 속성
9.3.1 클래스 속성
9.3.2 인스턴스 속성
09.4 클래스의 상속
[코딩연습]
Q91 객제지향으로 원의 면적과 원주 구하기
Q92 객제지향으로 3과목 합계와 평균 구하기
Q93 객제지향으로 두 수의 사칙연산 계산하기
Q94 생성자의 매개 변수에 리스트 사용하기
Q95 객제지향으로 문자열 다루기
연습문제
Part 2. 데이터 분석과 시각화
Chpater10. 주피터 노트북
10.1 주피터 노트북이란?
10.2 아나콘다 프로그램
10.2.1 설치 파일 다운로드하기
10.2.2 설치 시작하기
10.3 주피터 노트북 사용법
10.3.1 주피터 노트북 실행하기
10.3.2 작업 폴더 생성하기
10.3.3 새로운 파일 생성하기
10.3.4 프로그램 작성과 실행하기
10.3.5 프로그램 저장하기
10.3.6 작업 폴더 확인하기
10.3.7 .ipynb 파일 불러오기
연습문제
Chapter 11. 데이터 분석 기초
11.1 공공 데이터 가져오기
11.2 CSV 파일 다루기
11.2.1 CSV 파일이란?
11.2.2 CSV 파일 읽기
11.2.3 특정 일자 데이터 출력
11.2.4 데이터 헤더 추출
11.2.5 일교차 구하기
11.2.6 CSV 파일 쓰기
11.3 전국 약국 데이터 분석
11.3.1 약국 데이터 구조 살펴보기
11.3.2 특정 약국의 주소 찾기
11.3.3 특정 지역 건물의 약국 찾기
11.3.4 최근 5년 이내 개설 약국 수
11.3.5 특정 지역 1년간 개설된 약국 목록
11.3.6 추출된 약국 목록 정렬하기
11.4 제주도 기상 데이터 분석
11.4.1 기상 데이터 구조 살펴 보기
11.4.2 서귀포시 1월 최저기온 평균은?
11.4.3 8월 최고 기온이 가장 높은 지역은?
11.4.4 가장 비가 많이 오는 월은?
11.4.5 고산 지역의 7월 최저/최고 습도는?
11.4.6 년 강수량이 최대인 지역은?
[코딩연습]
Q111 데이터 사이에 '/' 삽입하기
Q112 10일간 평균 기온 구하기
연습문제
Chapter 12. 데이터 시각화
12.1 Matplotlib이란?
12.2 선 그래프 그리기
12.2.1 제목과 X/Y축 레이블 설정하기
12.2.2 한글 폰트 사용하기
12.2.3 범례 표시하기
12.2.4 선 스타일 설정하기
12.2.5 X/Y축 범위 및 위치 표시하기
12.3 다양한 그래프 그리기
12.3.1 막대 그래프 그리기
12.3.2 산포 그래프 그리기
12.3.3 파이 그래프 그리기
12.4 Subplots() 메소드
12.4.1 서브 그래프 그리기
12.4.2 그래프 사이 간격 조정하기
12.4.3 그래프 이미지 파일로 저장하기
[코딩연습]
Q121 10일간 최저/최고기온 선 그래프 그리기
Q122 예제 115의 Y축의 범위와 선 스타일 변경하기
Q123 랜덤 수의 막대 그래프 그리기
연습문제
Chapter 13. Numpy 데이터 분석
13.1 Numpy 기초
13.1.1 배열 객체 ndarray
13.1.2 ndarray 객체 초기화하기
13.1.3 arange() 메소드
13.1.4 2차원 배열의 요소 추출
13.2 Numpy 배열 다루기
13.2.1 배열의 산술 연산
13.2.2 배열의 통계 메소드
13.2.3 배열에 조건식 사용하기
13.2.4 배열의 요소 정렬
13.2.5 배열에 열과 행 삽입
13.3 전국 초등학교 학생 데이터 분석
13.3.1 최대 학급수/학생수/교사수 찾기
13.3.2 특정 초등학교 학생수와 교사수 비교하기
연습문제
Chapter 14. Pandas 데이터 분석
14.1 Pandas 패키지 소개
14.2 Series 클래스
14.2.1 Series 객체 생성하기
14.2.2 Series 객체의 값과 인덱스
14.2.3 Series 객체에 인덱스 설정하기
14.2.4 Series 객체의 연산과 조건식
14.2.5 Series 객체와 for문
14.2.6 Series 객체와 딕셔너리
14.3 DataFrame 클래스
14.3.1 DataFrame 객체 생성하기
14.3.2 DataFrame에 인덱스 설정하기
14.3.3 DataFrame 요소 추출하기
14.3.4 DataFrame으로 합계와 평균 구하기
14.4 국내 인구 통계 데이터 분석
14.4.1 인구 통계 데이터 파일 구성
14.4.2 데이터 정제와 준비
14.4.3 총 인구수 순으로 정렬하기
14.4.4 국내 전체 인구수, 세대수, 남녀 인구수 구하기
14.4.5 인구 통계 데이터 시각화하기
저자 : 황재호
경희대학교 전자공학과를 졸업하고 동 대학원에서 석ㆍ박사를 취득했다. KT 연구개발본부에서 연구원으로 근무하며 MPEG-2 비디오 코덱 시스템을 개발하였다. 저서로는 한빛 아카데미의 『PHP 프로그래밍 입문』, 『HTML/CSS for Beginner』와 한빛 미디어의 『헬로코딩 : HTML5/CSS3』와 인포앤북의 『스타트 파이썬』, 『똑똑한 파이썬』, 『파이썬 입문 with 데이터분석/시각화』, 『HTML/CSS 입문』 등 10권의 도서가 있다. 현재는 프로그래밍 서적 집필과 온라인 콘텐츠 개발에 힘쓰고 있다.