Python
pandas/공공데이터 활용1) 기상관측이래 서울의 최고기온은?
주니대디
2020. 10. 4. 18:17
오늘은 판다스 모듈과 기상청 공공데이터를 이용하여, 특정지역의 기록적인 온도를 알아보는 파이썬 프로그램을 작성해봤습니다.
'모두의 데이터분석, 길벗, 송석리, 이현아 지음'이라는 책에서는 마지막 15장에만 pandas를 활용하고 기본적으로 csv화일다루기로 코드화 되어있는데, 저는 이 예제들을 저의 관심사에 맞게 pandas로 구현해보고자 했습니다.
혹시나 문의사항있으시면 댓글남겨주세요.
기상자료포털 사이트 > 기후통계분석 > 기온분석에서 1904년1월1일~2020년10월1일까지의 서울의 기온데이터를 csv화일로 다운로드 받아서 분석 진행했습니다.
import os, csv
import pandas as pd
d_path='d:/Coding/my_coding/data/'
# data download from https://data.kma.go.kr/ > 기후통계분석 > 기온분석,
# 서울 1904년1월1일부터 2020년10월3일까지의 데이터를 csv로 다운로드해서 사용함
f_name = d_path+'Temp_Seoul_1904Jan_2020Oct.csv'
df=pd.read_csv(f_name, header=0, index_col=0, encoding='cp949')
# head info
print(df.head()) # date, location, avg_temp, low_temp, high_temp
df.dtypes()
# change column from Korean to English
df.columns=['Location','Temp_avg','Temp_low','Temp_high']
df.index
########################
# max temp of high_temp
########################
a1= df['Temp_high'].max()
print('max temperature is {}'.format(df['Temp_high'].max()))
# # Date which was max Temp_high
b1=df.index[df['Temp_high'] == df['Temp_high'].max()][0]
print('기상관측이래 서울의 최고기온은 {}로, {}일 이었습니다.'.format(a1,b1))
#########################
# # min temp of low_temp
#########################
a2= df['Temp_low'].min()
#print('min temperature was {}'.format(df['Temp_low'].min()))
# # Date which was min Temp_low
b2= df.index[df['Temp_low'] == df['Temp_low'].min()][0]
print('기상관측이래 서울의 최저기온은 {}로, {}일 이었습니다.'.format(a2,b2))
##########################################
#### 관심있는 날짜를 지정후 날씨 정보 파악
##########################################
Doi='1974-04-30' # Day_of_interest
print('The weather on DOI was\n', df[df.index == Doi])