본문 바로가기
빅데이터전문가양성과정

데이터 분석 (5일차)

by HoneyIT 2020. 10. 19.

실습할 데이터를 가져온다.

https://data.kma.go.kr/

 

기상자료개방포털

 

data.kma.go.kr

해당 사이트에 접속하여 기후통계분석 >> 통계분석 >> 기온분석 메뉴로 들어가서 기간설정 후 csv파일로 가져온다.

 

 

구글 계정과 연동

from google.colab import drive
drive.mount('/gdrive', force_remount=True)

 

 

URL에 접속하여 계정을 선택하고 코드를 넣으면 구글 계정와 연동된다.

 

CSV 파일 열기

import numpy as np
import pandas as pd
tempData = pd.read_csv('/gdrive/My Drive/BigData/data/안동기온분석.csv', encoding='utf-8')
tempData

/gdrive/My Drive는 나의 구글 드라이브 경로

 

 

열 지우기

tempData.drop('날짜', axis=1, inplace=True)
tempData

 

가장 더웠던 날 찾기

maxTemp = -999    #정수형 변수
maxDate = ''      #문자열형 변수
date = tempData.index
for x in range(len(tempData)) :  # 0이상 15460 미만
    highest = float(tempData.iloc[x, 2])
    #date = tempData[0].index
    if maxTemp < highest:
        maxTemp = highest
        maxDate = date[x]

print('기상 관측 이래 안동에서 가장 더웠던 날 :', maxDate)
print('안동의 최고 온도 :',maxTemp,'도')

 

8월 1일 최고, 최저 기온 변화량 그래프 그리기

import matplotlib.pyplot as plt

highestTemp = []
lowestTemp = []
year = []
for x in range(len(tempData)) :
    row = tempData.iloc[x]
    if int(row[0].split('-')[0]) >= 2000 :
        if row[0].split('-')[1] == '08' and row[0].split('-')[2] == '01':
            year.append(int(row[0].split('-')[0]))
            highestTemp.append(float(row[-1]))
            lowestTemp.append(float(row[-2]))

plt.rcParams["figure.figsize"] = (14,6)
plt.xticks(np.arange(len(year)), labels=year[:])
plt.plot(highestTemp, 'ro-')
plt.plot(lowestTemp, 'bo-')

plt.show()

 

 

한글 폰트 설치하기

#폰트를 설치
!apt -qq -y install fonts-nanum #apt -qq -y(리눅스 명령어) = pip
!apt-get install fonts-nanum* -qq

colab은 리눅스 서버 환경이므로 apt 명령어를 사용하여 한글 폰트를 설치한다.

 

 

import matplotlib.font_manager as fm
sys_font=fm.findSystemFonts()
#print(f"sys_font number: {len(sys_font)}")

nanum_font = [f for f in sys_font if 'Nanum' in f]
nanum_font

나눔 폰트를 모두 확인해볼 수 있다.

 

 

폰트 설정

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as fm
fontpath = '/usr/share/fonts/truetype/nanum/NanumGothicCoding.ttf' #폰트 패스 설정
font = fm.FontProperties(fname=fontpath, size=9)
#plt.rc('font', family='NanumGothic') 
plt.rcParams['font.family'] = 'NanumGothic'
plt.rcParams['font.size'] = 12
fm._rebuild()

폰트 변경후 런타임 -> 런타임 다시시작은 눌러준다

단! 코드를 다시 실행해야한다.

'빅데이터전문가양성과정' 카테고리의 다른 글

데이터 분석 (7일차)  (1) 2020.10.26
데이터 분석 (6일차)  (0) 2020.10.22
데이터 선택 & 슬라이싱 (6일차)  (0) 2020.10.22
파이썬 기초 (1일차)  (0) 2020.10.05
Colaboratory 환경설정(1일차)  (2) 2020.10.05