Django Prophet을 기반으로 한 날씨 예측 애플리케이션 개발 가이드
소개:
날씨 예측은 사람들의 일상 생활에서 매우 중요한 부분입니다. 정확한 날씨 예측은 사람들이 여행 계획, 농작물 재배, 에너지 파견 및 기타 결정을 내리는 데 도움이 될 수 있습니다. 이 기사에서는 Django Prophet을 사용하여 과거 날씨 데이터를 기반으로 미래 날씨를 예측할 수 있는 일기 예보 애플리케이션을 개발하는 방법을 소개합니다.
1. 준비
개발을 시작하기 전에 다음 환경과 도구를 준비해야 합니다.
django-admin startproject weather_forecast
cd weather_forecast
python manage.py startapp forecast
INSTALLED_APPS = [ ... 'forecast', ... ]
from django.db import models class Weather(models.Model): date = models.DateTimeField() min_temperature = models.FloatField() max_temperature = models.FloatField() humidity = models.FloatField() def __str__(self): return str(self.date)
python manage.py makemigrations python manage.py migrate
과거 날씨 데이터를 저장하기 위해 프로젝트의 루트 디렉터리에 Weather.csv 파일을 만듭니다. 데이터에는 날짜, 최저 기온, 최고 기온, 습도 등과 같은 필드가 포함되어야 합니다.
from django.shortcuts import render import pandas as pd from .models import Weather def import_data(request): data = pd.read_csv('weather.csv') for index, row in data.iterrows(): weather = Weather( date=row['date'], min_temperature=row['min_temperature'], max_temperature=row['max_temperature'], humidity=row['humidity'] ) weather.save() return render(request, 'forecast/import_data.html')
from django.urls import path from forecast import views urlpatterns = [ ... path('import/', views.import_data, name='import_data'), ... ]
from django.shortcuts import render from .models import Weather from fbprophet import Prophet import pandas as pd def predict_weather(request): data = Weather.objects.all() df = pd.DataFrame(list(data.values())) df = df.rename(columns={'date': 'ds', 'max_temperature': 'y'}) model = Prophet() model.fit(df) future = model.make_future_dataframe(periods=365) forecast = model.predict(future) return render(request, 'forecast/predict_weather.html', {'forecast': forecast})
from django.urls import path from forecast import views urlpatterns = [ ... path('predict/', views.predict_weather, name='predict_weather'), ... ]
<!DOCTYPE html> <html> <head> <title>Import Data</title> </head> <body> <h1>Import Data</h1> <form action="{% url 'import_data' %}" method="POST"> {% csrf_token %} <input type="submit" value="Import"> </form> </body> </html>
<!DOCTYPE html> <html> <head> <title>Predict Weather</title> </head> <body> <h1>Predicted Weather</h1> <table> <thead> <tr> <th>Date</th> <th>Max Temperature (°C)</th> <th>Humidity</th> </tr> </thead> <tbody> {% for index, row in forecast.iterrows %} <tr> <td>{{ row['ds'] }}</td> <td>{{ row['yhat'] }}</td> <td>{{ row['humidity'] }}</td> </tr> {% endfor %} </tbody> </table> </body> </html>
python manage.py runserver
역사적 날씨 데이터를 가져오려면 브라우저에서 http://localhost:8000/import/를 방문하세요.
위 내용은 Django Prophet 기반 일기예보 애플리케이션 개발 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!