본문 바로가기

Python/Pandas

pandas : 기온데이터분석 / 히스토그램


기온데이터 분석

* 1907년부터 2018년3월까지의 서울 기온 데이터를 CSV로 다운로드 한다.

- 다운로드 파일을 미리 제공해서 폴더에 넣어두었습니다. seoul.csv 파일을 열어 보세요. encoding='cp949'

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

%matplotlib inline

import platform

from matplotlib import font_manager, rc
plt.rcParams['axes.unicode_minus'] = False

if platform.system() == 'Darwin':
    rc('font', family='AppleGothic')
elif platform.system() == 'Windows':
    path = "c:/Windows/Fonts/malgun.ttf"
    font_name = font_manager.FontProperties(fname=path).get_name()
    rc('font', family=font_name)
else:
    print('Unknown system... sorry~~~~')

IN

df = pd.read_csv('data/seoul.csv', encoding='cp949') 
index_col=0

OUT


실습 1. 가장 더운날은 언제입니까?

IN

df.loc[df['최고기온(℃)'].max() == df['최고기온(℃)'] ,'날짜']

OUT

31277    1994-07-24
Name: 날짜, dtype: object

 


실습 2. 최고기온을 히스토그램으로 나타내되, bin의 범위를 4도로 만들어서, 히스토그램으로 보여주세요.

IN

df['최고기온(℃)'].describe()
계산 39168.000000
평균 16.684921
표준 10.996621
분 -16.300000
25%          7.100000
50%         18.500000
75%         26.200000
최대 38.400000
Name: 최고기온(℃), dtype: float64
my_bins = np.arange( -16.3 , 38.4 +4 , 4)
plt.hist(data= df, x = '최고기온(℃)' , rwidth=0.8, bins = my_bins)
plt.show()

 

OUT


실습 3. 위에서는 모든 날짜에 대한 데이터 입니다. 그러면! 2014년도 부터의 데이터를 기준으로, bin의 범위를 4도로 만들어서, 히스토그램으로 보여주세요.

IN

df['날짜'] == '2014-01-01'
df.loc[df['날짜'] == '2014-01-01', ]
df_2014

 

OUT

IN

df_2014['최고기온(℃)'].describe()

OUT

계산 1547.000000
평균 17.695604
표준 11.072697
 -10.700000
25%         7.450000
50%        19.500000
75%        27.800000
최대 36.600000
Name: 최고기온(℃), dtype: float64

IN

my_bins = np.arange( -10.7 , 36.6+4 , 4)
plt.hist(data = df_2014, x = '최고기온(℃)', rwidth = 0.8, bins = my_bins)
plt.show()

OUT

IN

plt.scatter(data= df4, x = '날짜' , y = '최고기온(℃)')
plt.xticks(rotation=90)
plt.show()

OUT