2 분 소요

ABC 부트캠프 [기온 공공 데이터 분석]

image

드디어 파이썬 라이브러리를

배우는 단계에 접해 들었다.

​

기온 공공데이터를 활용한 기온 분석과

인구 공공데이터를 활용한 성별 및 인구구조 분석을

CSV 파일을 이용하는 방법으로 진행한다.

​

이제 라이브러리를 사용하는 만큼

실전에서 활용하는 기술들을 접해보기 때문에

집중하여 진행해보도록 한다!

​—

기온 공공데이터를 활용한 기온 분석

데이터 파일인 csv 파일을 이용하여 Google Colab 환경에서 분석한다.

​

​

데이터 다운로드

​

기상자료개방포털

https://data.kma.go.kr/cmmn/main.do

​

이곳에서 기온 통계 분석 -> 기온 분석 -> 기간/지역설정을 통하여 csv 파일을 다운로드

​

csv 파일은 notepad++ 어댑터를 이용하여

데이터를 가공하도록 한다.

https://notepad-plus-plus.org/downloads/

​

notepad++로 열어본 csv 파일

image

다운받은 그대로 csv 파일을 데이터를 활용한다면

데이터가 오류를 받아들이고 잘못된 정보가 도출할 수 있다.

​ image

그래서 이러한 가공된 형태로 꼭! 바꿔줘야

옳은 데이터 분석을 활용할 수 있게 된다.

​

​

​

1. 기온 데이터 읽어오기

image

colab에서 파일을 열어 아까 가공한 csv 파일을 업로드 해준다.

그리하여 데이터가 csv 파일을 읽을 수 있게 만들어준다.

​

​

2. 헤더 저장하기

image

헤더인 데이터 정보를 저장한다.

next() 함수는 한줄 일고, 커서(읽는 위치)로 한칸을 이동한다.

​

3. 데이터 불러와서 최고기온 출력하기

image

결측치 데이터란? 명확한 결과를 위해 극적인 값으로 초기화 하는 방식이다.

절대 나올 수 없는 온도로 최고온도의 초기값을 -999로 설정

​

​

기상 관측 이래, 서울의 최고 기온이 가장 높았던 날은 언제고 몇도 였을까?

4. 최고 기온과 날짜 찾기

image

최고 기온을 실수형으로 형 변환한다. (온도는 실수형으로 나타나기 때문)

최고기온과 날짜를 찾을 수 있는 함수를 구현한다.

row[-1]인 이유는 데이터 파일 상 최고기온이 가장 오른쪽에 있기 때문이다.

​

​

기상 관측 이래, 서울의 최저 기온이 가장 낮았던 날은 언제고 몇도 였을까?

image

이번에는 최저 기온을 찾아보자.

아까 최고 기온의 결측치 데이터가 -999였다면, 최저 기온은 999이다.

row[-2]인 이유는 최고기온보다 앞에 나타나있는 데이터이기 때문이다.

​

​

matplotlib 라이브러리 사용

import matplotlib.pyplot as plt

​

기본 그래프 그리기

image

​

​

타이틀 속성 / 범례 속성 추가

plt.title()은 타이틀 속성을 추가하여 그래프의 제목을 담당한다.

plt.legend()는 범례 속성을 추가한다.

plt.show()로 그래프를 보여지게 한다.

image

​

​

기온 데이터 시각화

image

matplotlib 라이브러리를 통해 기온 데이터를 시각화 하는 과정을 거쳐보자.

우선 한글이 깨지는 현상이 존재해서, 한글 깨짐을 방지해보자

​

​

한글 깨짐 방지

pip install koreanize-matplotlib

pip install 해서 한글 koreanize를 설치한다.

​

​

​

최고 기온을 히스토그램으로 표현하기

image

plt.hist() 라는 함수를 추가해서 데이터의 빈도수를 늘리는 히스토그램을 표현

​

서울의 최고 기온 히스토그램으로 표현하기

image

특정한 월의 데이터만 남기려고 할 때는,

split()함수를 사용하여

row[0]번째 안의 [1] ==> (월)을 분리한다.

​

​

​

01월과 08월 서울의 최고기온의 빈도수를 한번에 시각화 하기

image

image

데이터 수치를 두가지 이상 보고싶다면,

print.hist()를 더 추가한다. 구분할 수 있게 색깔을 달리한다.

서울의 사용자가 입력한 월 최고, 평균, 최저 기온 히스토그램

image

image

사용자가 입력한 월의 최고기온, 평균기온, 최저기온의 히스토그램을

출력하는 프로그램을 만들어보았다.

최고기온을 나타내는 row[-1],

최저기온을 나타내는 row[-2],

평균기온을 나타내는 row[-3]으로 데이터를 담아 출력했다.

​

오늘은 데이터 가공도 해보고, 가공한 파일을 분석하는 과정을 배웠다.

가공하는 과정이 중요한 과정이란 것을 깨달았고,

​

그 데이터를 얼마나 잘 활용하는지, 잘 분석하여 나타낼 수 있는지에 대한

많은 양의 데이터를 분석하는 일이 재밌게 느껴져서 좋았다.

​

인구 공공데이터를 활용한 성별 및 인구구조 분석까지 했어야 했는데,

기온 데이터 분석하는 것 만으로도 시간이 부족해 진행하지 못하였다.

​ 진행하지 못하였어도, 오늘 배웠던 것을 기반으로

스스로 인구 데이터를 가공해보고 분석해보는 시간을 가져보도록 하자!

​

댓글남기기