측정일시 권역코드 권역명 측정소코드 측정소명 미세먼지 1시간(㎍/㎥) 미세먼지 24시간(㎍/㎥) \
0 202004302300 100 도심권 111123 종로구 40 43
1 202004302300 100 도심권 111121 중구 31 41
2 202004302300 100 도심권 111131 용산구 41 40
3 202004302300 101 서북권 111181 은평구 32 37
4 202004302300 101 서북권 111201 마포구 34 34
초미세먼지(㎍/㎥) 오존(ppm) 이산화질소농도(ppm) 일산화탄소농도(ppm) 아황산가스농도(ppm)
0 21 0.036 0.008 0.3 0.003
1 22 0.037 0.010 0.3 0.003
2 21 0.035 0.011 0.3 0.002
3 20 0.053 0.005 0.3 0.003
4 21 0.043 0.009 0.3 0.002
df = df[df['측정소명'] == '강남구']
df = df.sort_values(by='측정일시')
df['측정일시'] = df['측정일시'].astype(str)
df = df.rename(columns={'측정일시': 'ds', '미세먼지 1시간(㎍/㎥)': 'y'}) #Dataframe must have columns 'ds' and 'y' with the dates and values respectively.
df.plot(x='ds', y='y', figsize=(16, 8))
model = Prophet()
model.fit(df)
if not os.path.exists('models/gangnamgu_fine_dust_time_series_regression_model'):
os.makedirs('models/gangnamgu_fine_dust_time_series_regression_model')
with open('models/gangnamgu_fine_dust_time_series_regression_model/model.pkl', 'wb') as f:
pickle.dump(model, f)
실행 결과)
print(forecast[forecast['ds'] == '2020-05-07 23:00:00']['yhat'])
887 25.845876
Name: yhat, dtype: float64