좋은땅 가이드
우리는 당신과 함께
좋은 책을 만드는
좋은땅 출판사입니다
좋은땅 고객센터
상담 가능 시간
평일 오전 9시 ~ 오후 6시 (점심 시간 12 ~ 1시 제외)
주말, 공휴일은 이메일로 문의부탁드립니다
- 류지훈, 박훈영, 시호연, 심성보, 윤현석, 진대호, 최다영 지음 ┃ 김춘지 기획
- 좋은땅
- 2020년 07월 27일
상세 이미지
책 소개
지구과학을 전공하고 있거나 관련 자료의 분석이 필요한 사람, 혹은 프로그래밍을 처음 배우고자 하는 사람이라면 누구나 Fortran, Perl, C/C++, Java, Python 등 다양한 언어 중에서 어떤 것을 사용할 것인가를 두고 고민할 것입니다. 필자 역시 지난 수년 동안 지구과학 분야에서 연구를 했기 때문에 자료처리와 통계 분석을 목적으로 다양한 종류의 프로그래밍 언어를 사용했습니다.
그러다 우연한 기회에 직장 내 프로그래밍 교육을 담당하면서 파이썬을 선택하게 되었습니다. 그 이유는 문법이 쉽고 간결해 접근 장벽이 낮아서 학습용으로 적합했을 뿐만 아니라, 오픈 소스 개발 언어이기 때문에 무료로 제공하고 있어 실력 있는 개발자들이 만들어 놓은 훌륭한 패키지들이 많았기 때문입니다.
이러한 장점으로 파이썬의 인기가 높아짐에 따라 수많은 관련 책들이 출판되었으며 인터넷을 통해서도 다양한 영상들이 올라와 있어 파이썬을 손쉽게 접할 수 있습니다. 하지만 이러한 책들과 영상들을 통해 파이썬을 익힌 후, 정작 분석에 필요한 자료들을 처리하고 표출하고자 하면 예상치 못한 에러를 마주하기 마련입니다. 그러면 결국 해결 방법을 찾기 위해 많은 시간을 보내거나 급한 경우 손에 익숙한 언어로 돌아가게 되곤 합니다.
이런 경험을 바탕으로 이 책의 저자들은 파이썬을 사용해 기상/기후 분야의 자료를 다루면서 얻은 노하우나 문제 해결 등에 초점을 두어 이를 누구나 쉽게 이해하고 사용할 수 있도록 하는 데 중점을 두었습니다. 파이썬(Python)은 그리스 신화에서 중요한 일의 신탁을 담당하던 큰 뱀의 이름에서 유래한 것입니다. 그리스 사람들이 그러했듯 파이썬 사용자에게 이 책이 이러한 신탁소의 역할을 하게 되길 바랍니다.
목차
1. 파이썬 설치 및 필요한 패키지/라이브러리 확인― 23
2. 기본 자료 처리― 35
2-1. ASCII 텍스트파일 다루기 ― 36
2-1-1. ASCII 파일 읽기― 36
2-1-2. STASH 딕셔너리(dictionary) 만들기― 39
2-1-3. 검색 엔진 만들기― 40
2-2. Numpy 패키지(Base N-dimensional array package) ― 41
2-2-1. 배열 만들기― 42
2-2-2. 자료 불러오기― 43
2-2-3. 기본적인 통계기법 사용― 47
2-2-4. 자료 저장 ― 48
2-2-5. 자주 사용되는 함수― 49
2-3. 다양한 형식의 파일 다루기(Binary, MATLAB, NetCDF, HDF) ― 52
2-3-1. Binary 자료― 52
2-3-1-1. 바이너리자료 읽기
2-3-1-2. 바이너리자료 저장
2-3-2. MATLAB 자료― 59
2-3-2-1. MATLAB 파일 (.mat) 저장하기
2-3-2-2. MATLAB 파일 (.mat) 읽기
2-3-3. NetCDF4 자료 ― 62
2-3-3-1. netCDF 파일 (.nc) 읽기
2-3-3-2. netCDF 파일 저장하기
2-3-4. Hierarchical Data Format version 5(HDF5) 자료― 70
2-3-4-1. HDF5 파일 (.hdf5) 읽기
2-3-4-2. HDF5 파일 저장하기
2-4. Pandas 패키지 ― 77
2-4-1. Pandas의 자료 구조― 78
2-4-1-1. Series
2-4-1-2. DataFrame
2-4-2. 자료 추가하기(Join과 Merge 사용법)― 83
2-4-3. 자료 불러오기― 89
2-4-3-1. 기본적인 자료 확인
2-4-3-2. DataFrame을 이용한 자료처리
2-4-3-3. 그룹 연산(Groupby)
2-5. Pandas 활용(Time series analysis) ― 96
2-5-1. 자료 불러오기― 96
2-5-2. 시계열 그리기― 98
2-5-2-1. 시계열자료의 인덱싱과 슬라이싱
2-5-3. DataFrame 활용(다중 자료 처리) ― 103
2-5-3-1. DataFrame 자료 처리
2-5-3-2. 통계 처리
2-5-4. Resampling ― 113
3. 시각화― 117
3-1. 기본 요소― 118
3-2. 선 그래프(Line plot)― 124
3-2-1. 기본적인 선 그래프― 124
3-2-2. log-pressure 그래프― 134
3-2-3. 색이 채워진 선 그래프― 137
3-3. 산점도(Scatter plot)― 149
3-3-1. 기본적인 산점도― 149
3-3-2. 범례(legend) 추가하기― 156
3-4. 막대 그래프(Bar chart)― 160
3-4-1. 기본적인 막대 그래프― 160
3-4-2. 그룹 형태의 막대 그래프― 169
3-5. 등고선(Contour)― 171
3-5-1. 기본 등고선 그림― 171
3-5-2. 등고선 색 채우기(Shading)― 174
3-6. 바람장― 187
3-6-1. 벡터(Vector) 그림― 188
3-6-2. 유선도(Streamline) 그리기― 191
3-6-3. 바람깃(Wind barb) 그림― 193
3-7. 지도투영법― 196
3-7-1. 정거원통도법(Cylindrical equidistant)― 196
3-7-2. 로빈슨도법(Robinson)― 205
3-7-3. 극평사투영법(Polar stereographic)― 212
3-7-4. 람베르트 정각원추도법(Lambert conformal)― 220
3-7-5. 위성투영법(Satellite projection)― 225
3-7-6. 종합 예제― 231
부록 1. Interactive Plot (2D) ― 249
부록 2. Colormap ― 257