측정일시 권역코드 권역명 측정소코드 측정소명 미세먼지 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